springboot集成swagger過程解析
這篇文章主要介紹了springboot集成swagger過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
springboot集成swagger
1、pom.xml中引入:
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
2、配置類:
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket swaggerSpringMvcPlugin() { return new Docket(DocumentationType.SWAGGER_2) .select() //加了ApiOperation注解的類,才生成接口文檔 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .build(); } }
3、controller相應(yīng)的注解:@ApiOperation
@ApiOperation(value = "用戶登錄",notes = "") @PostMapping("/loginOn") public ResponseMessage loginOn(@RequestBody @Valid UserReq userReq){ ResponseMessage responseMessage = userServiceImp.loginOn(userReq); return responseMessage; }
最后本地默認(rèn)訪問:http://localhost:8080/swagger-ui.html
既可以看到相關(guān)接口效果圖:
訪問頁失敗的可能原因:
1》》訪問方法本來就是404錯誤:在sprigboot中有個重要的概念叫做:約定優(yōu)于配置:
springboot啟動的時候如果沒有指定掃描的包路徑時,默認(rèn)會去加載其當(dāng)前包及子包下的組件,這里需要注意
如果把啟動類放入service包下,頁面就會訪問不到:
2》》SwaggerConfig 類的寫法有問題:Docket方法挺多的,這里需要注意:
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket swaggerSpringMvcPlugin() { return new Docket(DocumentationType.SWAGGER_2) .select() //加了ApiOperation注解的類,才生成接口文檔 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .build(); } }
3》》配置攔截器時是否進(jìn)行了攔截:
在實現(xiàn)WebMvcConfigurer接口時,我們再配置攔截器時,需要對相應(yīng)的請求進(jìn)行過濾放行,比如靜態(tài)資源,登錄請求等
@Configuration public class WebConfig implements WebMvcConfigurer { /** * 配置攔截器 * @param registry */ @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new RequestInterceptor()).addPathPatterns("/**").excludePathPatterns("/user/login") //排除swagger .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**"); } }
有的代碼是通過重寫WebMvcConfigurer的addResourceHandlers方法:
/** * 添加靜態(tài)資源--過濾swagger-api (開源的在線API文檔) * @param registry *//* @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //過濾swagger registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); registry.addResourceHandler("/swagger-resources/**") .addResourceLocations("classpath:/META-INF/resources/swagger-resources/"); registry.addResourceHandler("/swagger/**") .addResourceLocations("classpath:/META-INF/resources/swagger*"); registry.addResourceHandler("/v2/api-docs/**") .addResourceLocations("classpath:/META-INF/resources/v2/api-docs/"); }*
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springBoot+dubbo+zookeeper實現(xiàn)分布式開發(fā)應(yīng)用的項目實踐
本文主要介紹了springBoot+dubbo+zookeeper實現(xiàn)分布式開發(fā)應(yīng)用的項目實踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03httpclient staleConnectionCheckEnabled獲取連接流程解析
這篇文章主要為大家介紹了httpclient staleConnectionCheckEnabled獲取連接流程示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11深入Spring Boot之ClassLoader的繼承關(guān)系和影響
這篇文章主要介紹了深入Spring Boot之ClassLoader的繼承關(guān)系和影響,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06