赞
踩
目录
三.使用swagger-spring-boot-starter集成swagger
1.添加swagger-spring-boot-starter依赖
使用Swagger你只需要按照他的规范去定义接口及接口相关信息再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,以及在线接口调试页面等等。
官网:https://swagger.io/
knife4j和swagger-spring-boot-starter都可以让springboot集成Swagger生成Api文档。
1.导入knife4j的maven坐标(版本如果冲突的话自己用maven helper来exclude一下)
- <dependency>
- <groupId>com.github.xiaoymin</groupId>
- <artifactId>knife4j-spring-boot-starter</artifactId>
- <version>3.0.2</version>
- </dependency>
2.导入knife4j相关配置类(地址一定要写对!!!,挺多坑的)
- @Slf4j
- @Configuration
- @EnableSwagger2
- @EnableKnife4j
- public class WebMvcConfig extends WebMvcConfigurationSupport {
- //设置静态资源映射
- @Override
- protected void addResourceHandlers(ResourceHandlerRegistry registry) {
- log.info("开始进行静态资源映射...");
- registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
- registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
- }
-
- //扩展mvc框架的消息转换器
- @Override
- protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
- log.info("扩展消息转换器...");
- //创建消息转换器对象
- MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();
- //设置对象转换器,底层使用Jackson将Java对象转为json
- messageConverter.setObjectMapper(new JacksonObjectMapper());
- //将上面的消息转换器对象追加到mvc框架的转换器集合中
- converters.add(0,messageConverter);
- }
- //设置扫描包
- @Bean
- public Docket createRestApi(){
- //文档类型
- return new Docket(DocumentationType.SWAGGER_2)
- .apiInfo(apiInfo())
- .select()
- .apis(RequestHandlerSelectors.basePackage("com.flyingpig.controller"))
- .paths(PathSelectors.any())
- .build();
- }
- //文档相关信息
- private ApiInfo apiInfo(){
- return new ApiInfoBuilder()
- .title("uu考勤")
- .version("1.0")
- .description("uu考勤接口文档")
- .build();
- }
- }
3.如果有filter,则需要设置不需要处理的请求路径,因为这时程序自动生成文档的静态界面,所以我们要让这些静态资源通行。在你的filter或者spring security配置类中配置。
例如下面在配置类中允许这些资源匿名访问。
然后我们访问localhost:9090/doc.html就可以找到看到对应的文档了
<!-- Spring Boot 集成 swagger --> |
base-package为扫描的包路径,扫描Controller类。
swagger: |
再次启动服务,工程启动起来,访问http://localhost:{该服务的端口号}/swagger-ui.html查看接口信息和进行测试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。