Eclipse + Spring Boot + SwaggerUI updating...

簡介

本文主要介紹將以上三者組合徐裸,搭建簡單的web服務器拴念,并導出Human Readable的Restful API.
https://github.com/XiaoHanChina/SpringBootSwagger

一嚣镜、Eclipse

只要搭建好平時的Eclipse、Java的開發(fā)環(huán)境即可施敢。

二曹傀、Spring Boot

1.搭建Spring Boot環(huán)境

在eclipse中辐脖,Help - Eclipse Marketplace. 搜索Spring Tools,安裝即可.

image.png
2.創(chuàng)建SpringBoot項目 Quick Start

New Project - Spring - Spring Started Project, 然后根據(jù)步驟填寫包名等信息,Dependencies選擇Web(帶有Tomcat的Spring MVC項目)即可皆愉。

image.png

如果你之前的SpringBoot的Version是早期版本嗜价,但是上面這個界面顯示的是較新的版本導致你無法創(chuàng)建出完整的項目,提示pom.xml有錯誤亥啦。則右鍵項目Maven install炭剪,他會幫你下載需要的包练链,然后右鍵項目Maven update Project即可翔脱。

3.編寫簡單的接口

新建WelcomController
在Application中添加Hello world接口,在對應的方法上加上RequestMapping的注解媒鼓,在Application上添加RestController的注解届吁。(這里在Application上添加@RequestMapping("/hxs")表明本類的所有方法都在/hxs/路徑下)

@RequestMapping("/hxs")
@RestController
@SpringBootApplication
public class JianShuDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(JianShuDemoApplication.class, args);
    }

    @RequestMapping("/")//Get any visitation by this route, no matter GET, POST, DELETE, etc.
    public String hello() {
        System.out.println("Got one visitation.");
        return "Hello world!";
    }

}
測試SpringBoot

在Application上,右擊绿鸣,Run As - Spring Boot App.它就運行在本機的8080端口上疚沐,測試地址http://localhost:8080/hxs/,同時你的Eclipse的 控制臺也會輸出Got one visitation.

三潮模、添加Swagger到項目中 官網(wǎng)

pom.xml中添加Springfox依賴
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.6.1</version>
    <scope>compile</scope>
</dependency>
pom.xml中添加SwaggerUI依賴
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.6.1</version>
    <scope>compile</scope>
</dependency>

配置Swagger亮蛔,在Application中添加Dockey

Application添加@EnableSwagger2注解,類種添加Dockey Bean擎厢。(regex方法不能通過自動導包導入究流,需要添加靜態(tài)依賴)

import static springfox.documentation.builders.PathSelectors.regex;
···
@RequestMapping("/hxs")
@RestController
@EnableSwagger2
@SpringBootApplication
public class JianShuDemoApplication {
    ...
    @Bean
    public Docket demoApi() {
        return new Docket(DocumentationType.SWAGGER_2).select()
                .apis(RequestHandlerSelectors.basePackage("com.hxs.demo"))
                .paths(regex("/hxs.*")).build();

    }

}

獲取Swagger json

直接訪問默認地址http://localhost:8080/v2/api-docs

獲取SwaggerUI

訪問默認地址http://localhost:8080/swagger-ui.html, 點擊jian-shu-demo-application即可展開看到所有的API地址,并可以測試

image.png

四动遭、進階篇芬探,接口注釋及復雜API

添加API簡介

Docket提供了apiInfo方法供我們填寫一些API的簡介、作者聯(lián)系方式等簡單信息厘惦。
首先在Application中添加meataData方法偷仿,返回ApiInfo(String title, String description, String version, String termsOfServiceUrl, Contact contact, String license, String licenseUrl)

private ApiInfo metaData() {
        ApiInfo apiInfo = new ApiInfo(
                "Spring Boot REST API Demo by hxs",
                "Spring Boot REST API for Simple Demo",
                "1.0",
                "termsOfServiceUrl",
                new Contact("Xingsheng Han", "https://github.com/XiaoHanChina/SpringBootSwagger",
                        "xingsheng_han@163.com"),
               "Apache License Version 2.0",
               "https://www.apache.org/licenses/LICENSE-2.0");
        return apiInfo;
    }

然后在Docket Bean中添加

    @Bean
    public Docket demoApi() {
        return new Docket(DocumentationType.SWAGGER_2).select()
                .apis(RequestHandlerSelectors.basePackage("com.hxs.demo"))
                .paths(regex("/hxs.*"))
                .build()
                .apiInfo(metaData());

    }

重新運行,訪問http://localhost:8080/swagger-ui.html即可看到API的簡介宵蕉,并可以通過Contact the developer給開發(fā)者發(fā)郵件

image.png

不同類型的請求方式
參數(shù)酝静、返回值描述
Model

參考資料

Spring Swagger Quick Start: https://springframework.guru/spring-boot-restful-api-documentation-with-swagger-2/
源碼: https://github.com/XiaoHanChina/SpringBootSwagger
Springfox Java docs: https://springfox.github.io/springfox/javadoc/current/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市羡玛,隨后出現(xiàn)的幾起案子形入,更是在濱河造成了極大的恐慌,老刑警劉巖缝左,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亿遂,死亡現(xiàn)場離奇詭異浓若,居然都是意外死亡,警方通過查閱死者的電腦和手機蛇数,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門挪钓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人耳舅,你說我怎么就攤上這事碌上。” “怎么了浦徊?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵馏予,是天一觀的道長。 經(jīng)常有香客問我盔性,道長霞丧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任冕香,我火速辦了婚禮蛹尝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悉尾。我一直安慰自己突那,他們只是感情好,可當我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布构眯。 她就那樣靜靜地躺著愕难,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惫霸。 梳的紋絲不亂的頭發(fā)上猫缭,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天,我揣著相機與錄音它褪,去河邊找鬼饵骨。 笑死,一個胖子當著我的面吹牛茫打,可吹牛的內(nèi)容都是我干的居触。 我是一名探鬼主播,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼老赤,長吁一口氣:“原來是場噩夢啊……” “哼轮洋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起抬旺,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤弊予,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后开财,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汉柒,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡误褪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了碾褂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兽间。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖正塌,靈堂內(nèi)的尸體忽然破棺而出嘀略,到底是詐尸還是另有隱情,我是刑警寧澤乓诽,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布帜羊,位于F島的核電站,受9級特大地震影響鸠天,放射性物質(zhì)發(fā)生泄漏讼育。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一粮宛、第九天 我趴在偏房一處隱蔽的房頂上張望窥淆。 院中可真熱鬧卖宠,春花似錦巍杈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至刺洒,卻和暖如春鳖宾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逆航。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工鼎文, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人因俐。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓拇惋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親抹剩。 傳聞我的和親對象是個殘疾皇子撑帖,可洞房花燭夜當晚...
    茶點故事閱讀 43,554評論 2 349

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