關(guān)于使用swagger整合springMVC的方法
前文:
在日常工作中,開發(fā)人員經(jīng)常會遇到寫接口文檔的工作,一般都是word文檔,帶來書寫麻煩、維護麻煩的問題,比如改了源代碼忘了更新文檔、解釋不明確帶來歧義、無法在線嘗試等等。swagger就是為了解決這些問題而產(chǎn)生的。這是官方的例子,截圖如下

swagger原理
后臺:后端部分與java集成,后最終會產(chǎn)生一個json文件。
前臺:前臺部分就是html、css、js文件,js利用后臺產(chǎn)生的json文件構(gòu)造api;
前臺配置:
去https://github.com/swagger-api/swagger-ui 下載zip包,解壓后,將dist文件夾下的所有內(nèi)容copy到,java web project的webapp下,比如,

maven依賴:
<repositories>
<repository>
<id>jcenter-release</id>
<name>jcenter</name>
<url>http://oss.jfrog.org/artifactory/oss-release-local/</url>
</repository>
</repositories>
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>1.0.1</version>
</dependency>后臺配置:
途徑一:
在spring的applicationcontext.xml文件中,添加配置
<mvc:annotation-driven/>
<bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
<!-- 對包中的所有類進行掃描,以完成Bean創(chuàng)建和自動依賴注入的功能 稍后會創(chuàng)建該包:webmvct.cmd -->
<context:component-scan base-package="webmvct.cmd"/>解釋:swagger會掃描 base-package包下的所有類,生成api文檔
將docapi文件下的index.html文件,url改為本工程的路徑,如下圖,

截止到現(xiàn)在,最簡單的swagger配置已經(jīng)完成。訪問 //localhost:8080/hi/docapi/index.html 就可以看到效果。
途徑二:
如果想進一步的定制,比如只掃描某個包下的某些路徑,那么就需要用到定制類,途徑二是基于途徑一在功能上的擴展,所以要想達到定制效果首先將途徑一配置好。
創(chuàng)建swaggerspringconfig定制類,比如
@Configuration
@EnableSwagger //Loads the spring beans required by the framework
@ComponentScan("com.test")
public class MySwaggerConfig {
private SpringSwaggerConfig springSwaggerConfig;
/**
* Required to autowire SpringSwaggerConfig
*/
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
this.springSwaggerConfig = springSwaggerConfig;
}
/**
* Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc framework - allowing for multiple
* swagger groups i.e. same code base multiple swagger resource listings.
*/
@Bean
public SwaggerSpringMvcPlugin customImplementation(){
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
.includePatterns(".*store.*");
}
}@componentscan,將com.test包下的類也包含在內(nèi)進行掃描;
customImplementation方法的includePatterns可以進行過濾,只include含有store的路徑
controller類的樣例:
@Api(value="/store",description="商店")
@Controller
@RequestMapping("/store")
public class StoreController {
@RequestMapping(value = "/{storeid}",method=RequestMethod.GET)
@ResponseBody
@ApiOperation(value="獲取商店信息",notes="通過商店id獲取商店信息")
public Store getStore(String storeid){
return new Store();
}
@ApiOperation(value="獲取商店信息",notes="通過商店name獲取商店信息")
@ResponseBody
@RequestMapping(value = "/{storename}",method=RequestMethod.POST)
public Store getStore2(String storeid){
return new Store();
}
}@api,用在類上,用于解釋整個類。
@apioperation,用于方法上,value是籠統(tǒng)的介紹方法作用,notes是詳細的說明方法作用
最終效果圖:

以上配置參考:
swagger整合spring mvc的doc點擊打開鏈接
swagger注解說明 點擊打開鏈接
到此這篇關(guān)于關(guān)于使用swagger整合springMVC的方法的文章就介紹到這了,更多相關(guān)swagger整合springMVC內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):線性表
這篇文章主要介紹了Java的數(shù)據(jù)解構(gòu)基礎(chǔ),希望對廣大的程序愛好者有所幫助,同時祝大家有一個好成績,需要的朋友可以參考下,希望能給你帶來幫助2021-07-07
SpringMVC 使用JSR-303進行校驗 @Valid示例
本篇文章主要介紹了SpringMVC 使用JSR-303進行校驗 @Valid示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
rabbitmq結(jié)合spring實現(xiàn)消息隊列優(yōu)先級的方法
本篇文章主要介紹了rabbitmq結(jié)合spring實現(xiàn)消息隊列優(yōu)先級的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
Flutter 通過Clipper實現(xiàn)各種自定義形狀的示例代碼
這篇文章主要介紹了Flutter 通過Clipper實現(xiàn)各種自定義形狀的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12

