spring-boot集成swagger( 提供封裝的starter源碼)

swagger簡介

Swagger?的目標是為REST APIs 定義一個標準的,與語言無關(guān)的接口,使人和計算機在看不到源碼或者看不到文檔或者不能通過網(wǎng)絡流量檢測的情況下能發(fā)現(xiàn)和理解各種服務的功能膏斤。當服務通過Swagger定義彻舰,消費者就能與遠程的服務互動通過少量的實現(xiàn)邏輯。類似于低級編程接口诫咱,Swagger去掉了調(diào)用服務時的很多猜測笙隙。
瀏覽 Swagger-Spec 去了解更多關(guān)于Swagger 項目的信息,包括附加的支持其他語言的庫坎缭。

pom.xml(添加依賴)
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.2.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.4.0</version>
</dependency>
swagger配置文件
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2
@Configuration
@EnableWebMvc
//需要掃描的接口包
public class Swagger2Config {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
    // 一些接口文檔信息的簡介
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot中使用Swagger2構(gòu)建RESTful APIs")
                .description("spring Boot 中構(gòu)建RESTful API")
                .termsOfServiceUrl("")
                .contact("caizi")
                .version("1.0")
                .build();
    }
}
swagger 注解用法
 1.對整個controller的描述注解
   @Api(value = "信息", description = "管理信息的API")
   2.對每一個接口的描述
    @ApiOperation(value = "修改信息", notes = "信息對象竟痰,信息標簽,信息id")
   3.對每個參數(shù)進行描述
   @ApiParam(required = true, name = "postData"掏呼,value = "用戶信息json數(shù)據(jù)") @RequestParam("tagData") String tagData
示例(在線測試時坏快,需要注意參數(shù)的paramType參數(shù)的類型)
@Api(value = "CorpusController", description = "管理語料的方法")
public class CorpusController {
    @Autowired
    ICorpusService iCorpusService;

    @GETMapping(value = "/getCorpusByUserName")
    @ApiOperation(value = "getCorpusByUserName", notes = "獲取語料")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "userName", value = "用戶賬號", required = true, dataType = "STRING",, paramType = "query"),
            @ApiImplicitParam(name = "corpusType", value = "語料分組類型", required = true, dataType = "STRING",, paramType = "query")
    })
    public String getCorpusByUserName(@RequestParam("userName") String userName,
                                      @RequestParam("corpusType") String corpusType) {
        String result = iCorpusService.getCorpusByUserName(userName, corpusType).toString();
        return result;
    }

}
使用
// 如果發(fā)布服務器可能路徑還需要加上項目名
http://ip:port/swagger-ui.html
swagger成功訪問頁面
結(jié)語

當然這些公共的配置,都可以配置成spring-boot-starter這樣方便后面的調(diào)用憎夷,同時也能更好的維護莽鸿。

// swagger-spring-boot-starter 源碼下載地址
github: https://github.com/zg091418/swagger2springbootstarter
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拾给,隨后出現(xiàn)的幾起案子祥得,更是在濱河造成了極大的恐慌,老刑警劉巖蒋得,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件级及,死亡現(xiàn)場離奇詭異,居然都是意外死亡窄锅,警方通過查閱死者的電腦和手機创千,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來入偷,“玉大人追驴,你說我怎么就攤上這事∈柚” “怎么了殿雪?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锋爪。 經(jīng)常有香客問我丙曙,道長爸业,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任亏镰,我火速辦了婚禮扯旷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘索抓。我一直安慰自己钧忽,他們只是感情好,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布逼肯。 她就那樣靜靜地躺著耸黑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪篮幢。 梳的紋絲不亂的頭發(fā)上大刊,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機與錄音三椿,去河邊找鬼缺菌。 笑死,一個胖子當著我的面吹牛赋续,可吹牛的內(nèi)容都是我干的男翰。 我是一名探鬼主播另患,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼纽乱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了昆箕?” 一聲冷哼從身側(cè)響起鸦列,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鹏倘,沒想到半個月后薯嗤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡纤泵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年骆姐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捏题。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡玻褪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出公荧,到底是詐尸還是另有隱情带射,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布循狰,位于F島的核電站窟社,受9級特大地震影響券勺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜灿里,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一关炼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匣吊,春花似錦盗扒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缕碎,卻和暖如春褥影,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咏雌。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工凡怎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赊抖。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓统倒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親氛雪。 傳聞我的和親對象是個殘疾皇子房匆,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容