spring springboot 配置swagger
总结
knife4j 这个玩意儿封装了swagger ,所以配置更简单!除了单体,微服务架构也可以使用!
配置文件
@EnableSwagger2
@EnableKnife4j
@Configuration
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
// List pars = new ArrayList();
//
// //构建默认参数
// ParameterBuilder ticketPar = new ParameterBuilder();
// ticketPar.name("Content-Type").description("Content-Type")
// .modelRef(new ModelRef("string")).parameterType("header")
// .required(true)
// .defaultValue("application/json").build();
// pars.add(ticketPar.build());
// //构建默认请求验证参数
// ticketPar = new ParameterBuilder();
// ticketPar.name("Authorization").description("Authorization")
// .modelRef(new ModelRef("string")).parameterType("header")
// .required(true)
// .defaultValue("111111111111111111111111111111111111111111111111").build();
// pars.add(ticketPar.build());
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
//使用上面的默认参数.build().globalOperationParameters(pars);
}
//构建 api文档的详细信息函数
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页面标题
.title("功能测试")
//创建人
.contact(new Contact("author", "url", "email"))
//版本号
.version("1.0")
//描述
.description("API 描述")
.build();
}
}
依赖
1.8
UTF-8
1.10.1
Hoxton.SR6
2.3.9.RELEASE
2.2.1.RELEASE
0.2.2.RELEASE
5.1.37
3.2.0
1.2.70
2.2.1.RELEASE
2.2.4
2.0.2
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
com.github.xiaoymin
knife4j-micro-spring-boot-starter
${knife4j.version}
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
这个是主要解决,可以在yml中配置是否启用swagger的
yml
swagger:
enable: true
Spring Cloud微服务架构中使用
在Spring Cloud的微服务架构下,每个微服务其实并不需要引入前端的Ui资源,因此在每个微服务的Spring Boot项目下,引入knife4j提供的微服务starter
com.github.xiaoymin
knife4j-micro-spring-boot-starter
${knife4j.version}
在网关聚合文档服务下,可以再把前端的ui资源引入
com.github.xiaoymin
knife4j-spring-boot-starter
${knife4j.version}
上图
参考
https://blog.csdn.net/xiaoxiaole0313/article/details/104935547
问题
网关搞聚合没有成功!
但可以网关地址加服务地址访问文档 此处网关是8000 hm-demo是8801
http://127.0.0.1:8000/hm-demo1/doc.html#/home