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

swagger原理
后臺(tái):后端部分與java集成,后最終會(huì)產(chǎn)生一個(gè)json文件。
前臺(tái):前臺(tái)部分就是html、css、js文件,js利用后臺(tái)產(chǎn)生的json文件構(gòu)造api;
前臺(tái)配置:
去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>后臺(tái)配置:
途徑一:
在spring的applicationcontext.xml文件中,添加配置
<mvc:annotation-driven/>
<bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
<!-- 對(duì)包中的所有類進(jìn)行掃描,以完成Bean創(chuàng)建和自動(dòng)依賴注入的功能 稍后會(huì)創(chuàng)建該包:webmvct.cmd -->
<context:component-scan base-package="webmvct.cmd"/>解釋:swagger會(huì)掃描 base-package包下的所有類,生成api文檔
將docapi文件下的index.html文件,url改為本工程的路徑,如下圖,

截止到現(xiàn)在,最簡(jiǎn)單的swagger配置已經(jīng)完成。訪問(wèn) //localhost:8080/hi/docapi/index.html 就可以看到效果。
途徑二:
如果想進(jìn)一步的定制,比如只掃描某個(gè)包下的某些路徑,那么就需要用到定制類,途徑二是基于途徑一在功能上的擴(kuò)展,所以要想達(dá)到定制效果首先將途徑一配置好。
創(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)進(jìn)行掃描;
customImplementation方法的includePatterns可以進(jìn)行過(guò)濾,只include含有store的路徑
controller類的樣例:
@Api(value="/store",description="商店")
@Controller
@RequestMapping("/store")
public class StoreController {
@RequestMapping(value = "/{storeid}",method=RequestMethod.GET)
@ResponseBody
@ApiOperation(value="獲取商店信息",notes="通過(guò)商店id獲取商店信息")
public Store getStore(String storeid){
return new Store();
}
@ApiOperation(value="獲取商店信息",notes="通過(guò)商店name獲取商店信息")
@ResponseBody
@RequestMapping(value = "/{storename}",method=RequestMethod.POST)
public Store getStore2(String storeid){
return new Store();
}
}@api,用在類上,用于解釋整個(gè)類。
@apioperation,用于方法上,value是籠統(tǒng)的介紹方法作用,notes是詳細(xì)的說(shuō)明方法作用
最終效果圖:

以上配置參考:
swagger整合spring mvc的doc點(diǎn)擊打開鏈接
swagger注解說(shuō)明 點(diǎn)擊打開鏈接
到此這篇關(guān)于關(guān)于使用swagger整合springMVC的方法的文章就介紹到這了,更多相關(guān)swagger整合springMVC內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
圖解Java經(jīng)典算法希爾排序的原理與實(shí)現(xiàn)
希爾排序是希爾(Donald Shell)于1959年提出的一種排序算法。希爾排序也是一種插入排序,它是簡(jiǎn)單插入排序經(jīng)過(guò)改進(jìn)之后的一個(gè)更高效的版本,也稱為縮小增量排序,同時(shí)該算法是沖破O(n2)的第一批算法之一。本文會(huì)以圖解的方式詳細(xì)介紹希爾排序的基本思想及其代碼實(shí)現(xiàn)2022-09-09
IDEA2020.1個(gè)性化設(shè)置的實(shí)現(xiàn)
這篇文章主要介紹了IDEA2020.1個(gè)性化設(shè)置的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Java基礎(chǔ)學(xué)習(xí)之方法的重載知識(shí)總結(jié)
今天帶大家來(lái)回顧Java基礎(chǔ)知識(shí),文中對(duì)Java方法的重載相關(guān)知識(shí)作了非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05
Java編程中的vector類用法學(xué)習(xí)筆記
Vector通常被用來(lái)實(shí)現(xiàn)動(dòng)態(tài)數(shù)組,即可實(shí)現(xiàn)自動(dòng)增長(zhǎng)的對(duì)象數(shù)組,和C++一樣vector類同樣被Java內(nèi)置,下面就來(lái)看一下vector類的基本用法.2016-05-05
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(2)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07
一篇文章帶你搞定SpringBoot不重啟項(xiàng)目實(shí)現(xiàn)修改靜態(tài)資源
這篇文章主要介紹了一篇文章帶你搞定SpringBoot不重啟項(xiàng)目實(shí)現(xiàn)修改靜態(tài)資源,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
SpringBoot創(chuàng)建多模塊項(xiàng)目的全過(guò)程記錄
這篇文章主要給大家介紹了關(guān)于SpringBoot創(chuàng)建多模塊項(xiàng)目的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

