Spring Boot整合swagger2

參考:

http://blog.csdn.net/amon1991/article/details/76774880
http://blog.didispace.com/springbootrestfulapi/


一宛渐、為什么要用swagger2

1.手動錄入API的缺點:

1)由于需求或設(shè)計的原因,并不能保證一次就可將接口確定,不再做變動踩晶,頻繁的修改接口可能會導(dǎo)致接口文檔和實際接口不一致茁瘦;

2)不能直接在線測試接口忧勿,需使用其他工具补胚,如postman

2.解決方案

swagger完美解決了以上兩個問題蒂教,既能在線測試接口肾扰,又能動態(tài)生成api文檔畴嘶,只需在接口上加適當(dāng)?shù)膫渥ⅰ?/p>

3.swagger缺點

1)代碼侵入性強(qiáng)

2)必須啟動接口服務(wù)器,才能訪問到接口文檔


二集晚、swagger2使用

1.添加pom依賴

添加swagger2核心包和swagger-ui界面包窗悯。

                <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.8.0</version>
        </dependency>
2.配置api文檔頁基本信息

與啟動類同級,特別注意里面配置了API文件也就是controller的路徑偷拔,不然生成的文檔掃描不到接口蒋院。


@Configuration

@EnableSwagger2

public class Swagger2{ 

 @Bean 

 public Docket createRestApi() {

        return new Docket(DocumentationType.SWAGGER_2)

                .apiInfo(apiInfo())

                .select()

                .apis(RequestHandlerSelectors.basePackage("com.xx.web.controller"))

                .paths(PathSelectors.any())

                .build();

    }

    private ApiInfo apiInfo() {

        return new ApiInfoBuilder()

                .title("xx項目 RESTful APIs")

                .description("xx項目后臺api接口文檔")

                .version("1.0")

                .build();

    }

}

spring-boot和swagger整合時,可以通過注解注入相關(guān)配置条摸。通過這些配置可指定在spring-boot啟動時掃描哪些controller層的文件夾悦污,另外可指定api文檔頁的標(biāo)題和描述信息等內(nèi)容。

3.API文檔編寫示例

一般在controller層钉蒲,將詳盡的API接口輸入輸出在代碼中通過注解進(jìn)行相關(guān)描述切端。


@Api(value = "PageController", description = "用戶登錄登出接口")

@Controller

@RequestMapping("/")

public classPageController{ 

    @ApiOperation(value="用戶登錄", notes="用戶登錄接口")

    @ApiImplicitParams({

          @ApiImplicitParam(name = "username", value = "用戶名", required = true ,dataType = "string"),

          @ApiImplicitParam(name = "passwd", value = "密碼", required = true ,dataType = "string")

    })

    @RequestMapping(value = "/login",method = {RequestMethod.POST,RequestMethod.GET})

    @ResponseBody    

     public ModelMap login(Users data, HttpServletRequest request){

      xxx...

    }

}

4.在線查看及測試API文檔

http://127.0.0.1:8080/swagger-ui.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市顷啼,隨后出現(xiàn)的幾起案子踏枣,更是在濱河造成了極大的恐慌昌屉,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茵瀑,死亡現(xiàn)場離奇詭異间驮,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)马昨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進(jìn)店門竞帽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鸿捧,你說我怎么就攤上這事屹篓。” “怎么了匙奴?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵堆巧,是天一觀的道長。 經(jīng)常有香客問我泼菌,道長谍肤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任哗伯,我火速辦了婚禮荒揣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘笋颤。我一直安慰自己乳附,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布伴澄。 她就那樣靜靜地躺著,像睡著了一般阱缓。 火紅的嫁衣襯著肌膚如雪非凌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天荆针,我揣著相機(jī)與錄音敞嗡,去河邊找鬼。 笑死航背,一個胖子當(dāng)著我的面吹牛喉悴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播玖媚,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼箕肃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了今魔?” 一聲冷哼從身側(cè)響起勺像,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤障贸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后吟宦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體篮洁,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年殃姓,在試婚紗的時候發(fā)現(xiàn)自己被綠了袁波。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡蜗侈,死狀恐怖锋叨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宛篇,我是刑警寧澤娃磺,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站叫倍,受9級特大地震影響偷卧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吆倦,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一听诸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚕泽,春花似錦晌梨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至荒吏,卻和暖如春敛惊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绰更。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工瞧挤, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人儡湾。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓特恬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親徐钠。 傳聞我的和親對象是個殘疾皇子癌刽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,974評論 2 355