今天给接口都增加了swagger说明,因为写文档还是比较费时间的。遇到了一些问题;
自己本地启动,swager页面可以正常使用,但是打包部署到服务器上却报找不到静态资源。
解决方法:
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
public class WebMVCConfig extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
引入swager核心包的时候,说guava太老了,有些方法没有,解决方法就是单独把guava再引入一个更新的版本
<!-- Swagger核心包 start -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>15.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<!-- Swagger核心包 end -->
通过component把链接hbase的方法改造了一下,支持多环境使用
@Component
public class HBaseConnecter {
private static String quorum;
@Value("${hbase.zookeeper.quorum}")
public void setquorum(String qur){
quorum = qur;
}
public Configuration conf(){
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum",quorum);
conf.set("hbase.zookeeper.property.clientPort", "2181");
return conf;
}
}
swagger对中文支持可能不太友好;tags写中文,点击接口会无法展开调试页。
@Api(tags = "redis tools")
后记:
总之最后弄好了还是蛮开心的~