以前让其余写服务端的小伙伴支持swagger,而后最近一直在写Unity,没有把以前的项目和Swagger进行集成html
注意:Swagger 2.x 遵循OpenApi 3.0定义的文件。若是你指望使用1.5.x版本的Swagger或者OpenApi 2.0,请参考1.5.X JAX-RS Setupgithub
dependencies { // 原生UI //compile("io.springfox:springfox-swagger-ui:2.9.2") // 国内人编写的左右分隔的UI compile("com.github.xiaoymin:swagger-bootstrap-ui:1.8.9") compile("io.springfox:springfox-swagger2:2.9.2") //... }
因为springboot须要手动编写配置Bean,则代码以下web
@Configuration @EnableSwagger2 public class SwaggerConfiguration { @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(getApiInfo()) .groupName("groupName") .select() .apis(RequestHandlerSelectors.basePackage("org.aicfve")) .paths(PathSelectors.any()) .build(); } public ApiInfo getApiInfo(){ return new ApiInfoBuilder() .title("swagger-bootstrap-ui RESTful APIs") .description("Descrption") .termsOfServiceUrl("http://localhost") .contact("zhanpeng@bfa.edu.cn") .version("1.0") .build(); } }
运行后,经过http://localhost:8080/doc.html
可以看到swagger-bootstrap-ui内容,可是看不到Controller内容。其余内容须要添加描述spring
springfox-swagger-uibootstrap
http://localhost:8080/swagger-ui.html
swagger-bootstrap-uiapi
http://localhost:8080/doc.html
有些地方须要添加springmvc的路由,则以下代码,注意WebMvcCOnfigurerAdpator已经放弃springboot
@Configuration public class SwaggerMvcConfigurer implements WebMvcConfigurer { private static final Logger logger = LoggerFactory.getLogger(SwaggerMvcConfigurer.class); @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { logger.info("Add Resource Handlers"); // registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); // registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } }
springcloud-config-server 没法与Swagger集成,springcloud-config会屏蔽路由 https://github.com/spring-cloud/spring-cloud-config/issues/759mvc
https://spring.io/projects/spring-restdocsapp
Spring REST Docs为RESTful文档进行服务。
经过Asciidoctor绑定手写文档,而且自动生成[Spring MVC Test]的片断。经过这种方法,把你从Swagger文档工具中解放出来。
帮助你准确、简洁、结构化的构建文档。文档仅需用户不多的信息。
Spring Boot在测试中提供 @AutoConfigureRestDocs
注解用于Spring REST Docs的连接。
经过Spring Initializr 启动应用。