swagger學(xué)習(xí)文檔

旭旭提供

為什么需要swagger

因?yàn)榻涌谖臋n管理非常麻煩叠聋,用過swagger煤惩,只需要配置一點(diǎn)點(diǎn)畜晰,就可以通過網(wǎng)頁很好的管理喻犁。

導(dǎo)入jar
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

本項(xiàng)目配置
package cn.zx.xuxu.product.config;

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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class Swagger2 {
 
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //唯一要改的地方就是這里的路徑  其他不管
                .apis(RequestHandlerSelectors.basePackage("cn.zx.xuxu.product.controller"))
                //包:就是自己接口的包路徑
                .paths(PathSelectors.any())
                .build();
    }


    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("商品系統(tǒng)api")//名字
                .description("商品系統(tǒng)接口文檔說明")//額外藐視
                .contact(new Contact("wbtest", "", "wenbing@zx.cn"))
                .version("1.0")// 版本
                .build();
    }

}

本項(xiàng)目地址:http://127.0.0.1:8001/swagger-ui.html

旭旭提供
網(wǎng)關(guān)配置

前端開發(fā)每次都要記錄每個(gè)服務(wù)ip不好汽纤,期望只記憶網(wǎng)關(guān)ip就ok上岗,需要做配置

  • 網(wǎng)關(guān)中配置
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
  • 建個(gè)新類。在網(wǎng)關(guān)中
package cn.zx.xuxu.config;

import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;
import springfox.documentation.swagger.web.SwaggerResource;
import springfox.documentation.swagger.web.SwaggerResourcesProvider;

import java.util.ArrayList;
import java.util.List;

@Component
@Primary
public class DocumentationConfig implements SwaggerResourcesProvider {
    @Override
    public List<SwaggerResource> get() {
        List resources = new ArrayList<>();
       //aigou網(wǎng)關(guān)前綴,employee網(wǎng)關(guān)路徑   蕴坪;swagger的路徑 肴掷,以后增加了接口就在這配置就ok
        resources.add(swaggerResource("用戶系統(tǒng)", "/xuxu/user/v2/api-docs", "2.0"));
        resources.add(swaggerResource("商品系統(tǒng)", "/xuxu/product/v2/api-docs", "2.0"));
        resources.add(swaggerResource("基礎(chǔ)系統(tǒng)", "/xuxu/common/v2/api-docs", "2.0"));
        return resources;
    }

    private SwaggerResource swaggerResource(String name, String location, String version) {
        SwaggerResource swaggerResource = new SwaggerResource();
        swaggerResource.setName(name);
        swaggerResource.setLocation(location);
        swaggerResource.setSwaggerVersion(version);
        return swaggerResource;
    }
}
package cn.zx.xuxu.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("分布式購物系統(tǒng)")
                .description("購物系統(tǒng)接口文檔說明")
                .termsOfServiceUrl("http://localhost:8081")
                .contact(new Contact("wbtest", "", "wenbing@itsoruce.cn"))
                .version("1.0")
                .build();
    }

}
圖片.png
圖片.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市背传,隨后出現(xiàn)的幾起案子呆瞻,更是在濱河造成了極大的恐慌,老刑警劉巖续室,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栋烤,死亡現(xiàn)場離奇詭異,居然都是意外死亡挺狰,警方通過查閱死者的電腦和手機(jī)明郭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丰泊,“玉大人薯定,你說我怎么就攤上這事⊥海” “怎么了话侄?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長学赛。 經(jīng)常有香客問我年堆,道長,這世上最難降的妖魔是什么盏浇? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任变丧,我火速辦了婚禮,結(jié)果婚禮上绢掰,老公的妹妹穿的比我還像新娘痒蓬。我一直安慰自己童擎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布攻晒。 她就那樣靜靜地躺著顾复,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鲁捏。 梳的紋絲不亂的頭發(fā)上芯砸,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機(jī)與錄音给梅,去河邊找鬼乙嘀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛破喻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盟榴,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼曹质,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了擎场?” 一聲冷哼從身側(cè)響起羽德,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迅办,沒想到半個(gè)月后宅静,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡站欺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年姨夹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矾策。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡磷账,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贾虽,到底是詐尸還是另有隱情逃糟,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布蓬豁,位于F島的核電站绰咽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏地粪。R本人自食惡果不足惜取募,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望驶忌。 院中可真熱鬧矛辕,春花似錦笑跛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至翻屈,卻和暖如春陈哑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伸眶。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工惊窖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人厘贼。 一個(gè)月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓界酒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嘴秸。 傳聞我的和親對象是個(gè)殘疾皇子毁欣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

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

  • 小脾氣 ■劉漢皇 . 親愛,不必歉意 所有的小脾氣 其實(shí)都是愛的外衣 這不過是歲月的嫉妒 和生活的雨季 這是最真實(shí)...
    劉漢皇閱讀 396評論 3 21
  • 每日小結(jié) 有時(shí)候,無所事事比努力工作更加勞累岳掐。 現(xiàn)在每天按照to do list一步一步完成定下來的任務(wù),越來越有...
    大大大大大大石閱讀 925評論 0 0
  • 昨天晚上和兒子一起閱讀《魯濱遜漂流記》串述,當(dāng)讀到魯濱遜第一次航海時(shí)遇到風(fēng)暴襲擊执解,船體破裂進(jìn)水,兒子問:“媽媽纲酗,是不是...
    念伊念你閱讀 1,175評論 0 1
  • 十幾年前衰腌,我第一次去當(dāng)鋪村,鋼結(jié)構(gòu)的門式拱架頂上鑲“當(dāng)鋪窯子”幾個(gè)紅字觅赊。同村的宏偉帶我去的桶唐,他剛大學(xué)畢業(yè)不久,我們...
    藍(lán)色的海sunshine閱讀 711評論 1 3