springboot集成swagger過(guò)程解析
這篇文章主要介紹了springboot集成swagger過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
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、配置類(lèi):
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket swaggerSpringMvcPlugin() { return new Docket(DocumentationType.SWAGGER_2) .select() //加了ApiOperation注解的類(lèi),才生成接口文檔 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .build(); } }
3、controller相應(yīng)的注解:@ApiOperation
@ApiOperation(value = "用戶(hù)登錄",notes = "") @PostMapping("/loginOn") public ResponseMessage loginOn(@RequestBody @Valid UserReq userReq){ ResponseMessage responseMessage = userServiceImp.loginOn(userReq); return responseMessage; }
最后本地默認(rèn)訪(fǎng)問(wèn):http://localhost:8080/swagger-ui.html
既可以看到相關(guān)接口效果圖:
訪(fǎng)問(wèn)頁(yè)失敗的可能原因:
1》》訪(fǎng)問(wèn)方法本來(lái)就是404錯(cuò)誤:在sprigboot中有個(gè)重要的概念叫做:約定優(yōu)于配置:
springboot啟動(dòng)的時(shí)候如果沒(méi)有指定掃描的包路徑時(shí),默認(rèn)會(huì)去加載其當(dāng)前包及子包下的組件,這里需要注意
如果把啟動(dòng)類(lèi)放入service包下,頁(yè)面就會(huì)訪(fǎng)問(wèn)不到:
2》》SwaggerConfig 類(lèi)的寫(xiě)法有問(wèn)題:Docket方法挺多的,這里需要注意:
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket swaggerSpringMvcPlugin() { return new Docket(DocumentationType.SWAGGER_2) .select() //加了ApiOperation注解的類(lèi),才生成接口文檔 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .build(); } }
3》》配置攔截器時(shí)是否進(jìn)行了攔截:
在實(shí)現(xiàn)WebMvcConfigurer接口時(shí),我們?cè)倥渲脭r截器時(shí),需要對(duì)相應(yīng)的請(qǐng)求進(jìn)行過(guò)濾放行,比如靜態(tài)資源,登錄請(qǐng)求等
@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/**"); } }
有的代碼是通過(guò)重寫(xiě)WebMvcConfigurer的addResourceHandlers方法:
/** * 添加靜態(tài)資源--過(guò)濾swagger-api (開(kāi)源的在線(xiàn)API文檔) * @param registry *//* @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //過(guò)濾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/"); }*
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springBoot+dubbo+zookeeper實(shí)現(xiàn)分布式開(kāi)發(fā)應(yīng)用的項(xiàng)目實(shí)踐
本文主要介紹了springBoot+dubbo+zookeeper實(shí)現(xiàn)分布式開(kāi)發(fā)應(yīng)用的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03SWT(JFace)體驗(yàn)之StackLayout布局
SWT(JFace)體驗(yàn)之StackLayout布局實(shí)現(xiàn)代碼。2009-06-06httpclient staleConnectionCheckEnabled獲取連接流程解析
這篇文章主要為大家介紹了httpclient staleConnectionCheckEnabled獲取連接流程示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Java中鎖的實(shí)現(xiàn)和內(nèi)存語(yǔ)義淺析
這篇文章主要給大家介紹了關(guān)于Java中鎖的實(shí)現(xiàn)和內(nèi)存語(yǔ)義的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11

Java字節(jié)流 從文件輸入輸出到文件過(guò)程解析

深入Spring Boot之ClassLoader的繼承關(guān)系和影響