swagger簡(jiǎn)單學(xué)習(xí)

流程:

  1. 系統(tǒng)啟動(dòng)蕴茴,掃描到api工程下的Swagger2Configuration配置類(lèi)
  2. 配置類(lèi)中指定了包路徑com.xuecheng,這會(huì)找到包下被@RestController注解的類(lèi)
  3. 根據(jù)controller的swagger注解生成接口文檔

在本項(xiàng)目中因惭,把類(lèi)注解和方法注解到controller實(shí)現(xiàn)的接口上,

至于為什么注解到接口上绩衷,就可以根據(jù)實(shí)現(xiàn)類(lèi)生成文檔蹦魔,理解方式兩種:框架內(nèi)部處理(應(yīng)該是這種方式) 注解繼承了(待)

Swagger2Configuration.java

package com.xuecheng.api.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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

//
@Configuration
@EnableSwagger2
public class Swagger2Configuration {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.xuecheng"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("學(xué)成網(wǎng)api文檔")
                .description("學(xué)成網(wǎng)api文檔")
//                .termsOfServiceUrl("/")
                .version("1.0")
                .build();
    }

}

CmsPageControllerApi.java

package com.xuecheng.api.cms;

import com.xuecheng.framework.domain.cms.CmsPage;
import com.xuecheng.framework.model.response.QueryResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

@Api(value = "cms頁(yè)面管理接口",description = "cms頁(yè)面管理接口激率,提供頁(yè)面的CRUD")
public interface CmsPageControllerApi {

    @ApiOperation("分頁(yè)管理頁(yè)面列表")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "page",value = "頁(yè)碼",required = true,paramType = "path",dataType = "int"),
            @ApiImplicitParam(name = "size",value = "每頁(yè)記錄數(shù)",required = true,paramType = "path",dataType = "int")
    })
    QueryResponseResult findPageList(int page, int size, CmsPage cmsPage);

}

cmsPageController.java

@RestController
@ComponentScan("com.xuecheng.api")
public class CmsPageController implements CmsPageControllerApi {

    @Autowired
    private CmsPageService cmsPageService;

    @GetMapping("/cms/page/{page}/{size}")
    @Override
    public QueryResponseResult findPageList(@PathVariable("page") int page,@PathVariable("size") int size, CmsPage cmsPage) {
        QueryResponseResult result = cmsPageService.findnCmsPageList(page, size, cmsPage);
        return result;

    }

    @GetMapping("test")
    @ResponseBody
    public String test() {
        System.out.println("Test");
        return "ok";
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市勿决,隨后出現(xiàn)的幾起案子乒躺,更是在濱河造成了極大的恐慌,老刑警劉巖低缩,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘉冒,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡咆繁,警方通過(guò)查閱死者的電腦和手機(jī)讳推,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)玩般,“玉大人银觅,你說(shuō)我怎么就攤上這事』滴” “怎么了究驴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)久脯。 經(jīng)常有香客問(wèn)我纳胧,道長(zhǎng),這世上最難降的妖魔是什么帘撰? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任跑慕,我火速辦了婚禮,結(jié)果婚禮上摧找,老公的妹妹穿的比我還像新娘核行。我一直安慰自己,他們只是感情好蹬耘,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布芝雪。 她就那樣靜靜地躺著,像睡著了一般综苔。 火紅的嫁衣襯著肌膚如雪惩系。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,084評(píng)論 1 291
  • 那天如筛,我揣著相機(jī)與錄音堡牡,去河邊找鬼。 笑死杨刨,一個(gè)胖子當(dāng)著我的面吹牛晤柄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妖胀,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼芥颈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼惠勒!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起爬坑,我...
    開(kāi)封第一講書(shū)人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤纠屋,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后盾计,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體巾遭,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年闯估,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吼和。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡涨薪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炫乓,到底是詐尸還是另有隱情刚夺,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布末捣,位于F島的核電站侠姑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏箩做。R本人自食惡果不足惜莽红,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望邦邦。 院中可真熱鬧安吁,春花似錦、人聲如沸燃辖。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)黔龟。三九已至妇智,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間氏身,已是汗流浹背巍棱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留观谦,地道東北人拉盾。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像豁状,于是被迫代替她去往敵國(guó)和親捉偏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子倒得,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

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

  • 什么是Swagger? Swagger是什么:THE WORLD’S MOST POPULAR API TOOLI...
    程序員日常填坑閱讀 504評(píng)論 0 0
  • 為什么我們永遠(yuǎn)都會(huì)覺(jué)得工資低夭禽,不夠花呢霞掺? 今天就點(diǎn)醒一下大家,其實(shí)非常簡(jiǎn)單讹躯,就是當(dāng)今天我們領(lǐng)2000工資的時(shí)候菩彬,買(mǎi)...
    暖夏九月閱讀 102評(píng)論 0 0
  • 歌唱一首歲月的歌 旋律有高有低 沉淀的美好飄搖到嘴邊 多年來(lái)路過(guò)的人來(lái)人往 世界之大令我感嘆不已 總會(huì)在記憶深處聽(tīng)...
    MOON七閱讀 114評(píng)論 0 0