栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Boot 整合Swagger2及常见问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Boot 整合Swagger2及常见问题

SwaggerConfig配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {

    private ApiInfo apiInfo(){
        return new ApiInfoBuilder().title("API接口文档")
                .description("Bucks Coffee")
                .version("v1.0")
                .build();
    }

    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //- 扫描哪些包
                .apis(RequestHandlerSelectors.basePackage("com.fanle.controller"))
                //- 所有的api都显示
                .paths(PathSelectors.any())
                .build();
    }
}
pom文件
  1. 原生swagger

  io.springfox
  springfox-swagger2
  2.9.2


  io.springfox
  springfox-swagger-ui
  2.9.2

  1. knife4j

  com.github.xiaoymin
  knife4j-spring-boot-starter
  2.0.7

常见问题 1.Failed to start bean ‘documentationPluginsBootstrapper’…
  • 解决方式一推荐:降低springboot的版本
  • 解决方式二:在启动类上添加@EnableWebMvc,这种方式会导致SpringBoot的@EnableAutoConfiguration失效,坑比较多。建议还是老老实实降低版本,参考博客
2.接口文档页面找不到:localhost:8080/swagger-ui.htmlorlocalhost:8080/doc.html

放行静态资源

  • 原生swagger
@Configuration
public class WebConfig implements WebMvcConfigurer {

    @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/");
    }
}
  • knife4j
@Configuration
public class MyWebConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}
swagger常用注解
@RestController
@Api(tags = "hello模块",value = "hello接口",description = "用在类上")
public class HelloController {

    @GetMapping("/hello")
    @ApiOperation("用在方法上")
    public String hello(@Valid HelloForm form){
        return form.getMsg();
    }
}
@Data
@ApiModel
public class HelloForm {
    @NotBlank
    @Pattern(regexp = "^[0-9]{6}$")
    private String msg;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838011.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号