SpringCloud(8)zuul与Swagger的整合
Swagger
它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API。
在zuul工程中配置Swagger
- 在pom.xml文件中加入以下依赖 <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的配置 @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean UiConfiguration uiConfiguration(){ return new UiConfiguration(null, "list", "alpha", "schema", UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS, true, true, 60000L); } @Bean Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2).apiInfo( new ApiInfoBuilder() .title("分布式Api管理").description("分布式文档管理") .termsOfServiceUrl("http://localhost:86") .version("1.0").build() ); } }
- 加入列表 @Component @Primary public class SwaggerResoureConfig implements SwaggerResourcesProvider { @Override public List<SwaggerResource> get() { List<SwaggerResource> swaggerResoures=new ArrayList<>(); swaggerResoures.add(getSwaggerResoure("a","/api-a/v2/api-docs","2.0")); swaggerResoures.add(getSwaggerResoure("b","/api-b/v2/api-docs","2.0")); return swaggerResoures; } private SwaggerResource getSwaggerResoure(String name,String loc,String version){ SwaggerResource swaggerResource=new SwaggerResource(); swaggerResource.setName(name); swaggerResource.setLocation(loc); swaggerResource.setSwaggerVersion(version); return swaggerResource; } }
- 在你需要生成restful API文档下 也是上面一样的配置,但是少了第三步配置
