spring boot + jwt + security + springfox-swagger3.0 最新swagger3.0整合更新 weir 2020-07-17 16:59:41.0 swagger,jwt,security 2819 SpringFox 3.0.0 刚刚发布,之前用2.9的可以更新一波了,今天记录下,我这边的一个项目的更新过程: 1.maven pom.xml改动: <!-- <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${springfox-swagger2.version}</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${springfox-swagger2.version}</version> </dependency> --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>${springfox-swagger2.version}</version> </dependency> <springfox-swagger2.version>3.0.0</springfox-swagger2.version> 改成3.0.0 2. Swagger2Config 改动: @Configuration //@EnableSwagger2 @EnableOpenApi public class Swagger2Config { private List<SecurityScheme> securitySchemes() { return Lists.newArrayList( new ApiKey("Authorization", "Authorization", "header")); } 旧的代码: private List<ApiKey> securitySchemes() { return Lists.newArrayList( new ApiKey("Authorization", "Authorization", "header")); } 3. WebMvcConfig @Configuration class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui/") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } 新增: registry.addResourceHandler("swagger-ui/") .addResourceLocations("classpath:/META-INF/resources/"); 4. SecurityConfig 新增: .antMatchers("/swagger-ui/").permitAll().antMatchers("/swagger-resources/**").permitAll() .antMatchers("/v3/api-docs").permitAll().antMatchers("/configuration/ui").permitAll() 5.补充 Swagger2Config @Bean public Docket createRestApi() { return new Docket(DocumentationType.OAS_30).apiInfo(apiInfo()).select() // 为当前包路径 // .apis(RequestHandlerSelectors.basePackage("com.yaken.*.controller")) .paths(PathSelectors.regex("^(?!auth).*$")).build() .securitySchemes(securitySchemes()) .securityContexts(securityContexts()); } 版本更新下3.0 DocumentationType.OAS_30 完美切换成功