精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

三步輕松集成Swagger API文檔

開發 開發工具
相信大家平時開發的過程中,都會使用到 API文檔工具吧?大家都在使用什么呀?Java docs,I/O Docs, apiary.io, Docco, Dexy, Doxygen, TurnAPI,Swagger。

本文轉載自微信公眾號「Java技術指北」,作者指北君 。轉載本文請聯系Java技術指北公眾號。

大家好, 我是指北君。

相信大家平時開發的過程中,都會使用到 API文檔工具吧?大家都在使用什么呀?Java docs,I/O Docs, apiary.io, Docco, Dexy, Doxygen, TurnAPI,Swagger。今天我就來教大家如何使用 Swagger 搭建 API 文檔,并且配置權限使用。畢竟開發文檔還是內容使用的為好,萬一上線到生產環境,沒有關swagger 又沒有設置權限,那可不GG啦。

好,我們這就上手搞起來。

我們將使用 Springfox 對 Swagger 2 規范的實現,并通過 JWT 的方式來設置權限。

配置SwaggerUI

第一步:向Spring Boot項目添加Maven依賴項

打開 pom.xml 文件,添加 springfox-boot-starter 到 maven 依賴中。

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>

添加 springfox-boot-starter 依賴后,spring boot 能啟動配置功能,配置好 swagger,所以我們不需要手動添加注解來啟用 Swagger。

我們啟動一下項目訪問 Swagger 文檔的 JSON API , 來看看 Springfox 是否正常運行。我們可以在瀏覽器中輸入以下URL:

http://localhost:8080/v3/api-docs

能夠看到以上的類似結果,說明我們第一步已經成功了。

第二步:將 Swagger 2 集成到 Spring Boot項目中去

我們創建一個 SwaggerConfig 類,并用 @Configuration 注解來注釋。Swagger 的配置主要圍繞著 Docket 對象來完成。我們可以在 SwaggerConfig 類中添加以下代碼。

@Configuration
public class SwaggerConfiguration {
private ApiInfo apiInfo() {
return new ApiInfo("Blog REST APIs",
"REST APIs for Blog Application",
"1.0",
"Terms of service",
new Contact("xxx", "xxx", "xxx"),
"License of API",
"API license URL",
Collections.emptyList());
}
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}

在構造 Docket 對象之后,它的 select() 方法返回了 ApiSelectorBuilder 的一個實例,它提供了一種控制 Swagger 所暴露的端點的方法。

我們可以通過使用 RequestHandlerSelectors 和 PathSelectors 配置選擇 RequestHandlers 的路徑。如果兩者兩者使用 any() , 那就說明配置所有的 API 都能在 Swagger 上顯示了。

第三步:訪問 Swagger UI

Swagger UI 是一個內置的解決方案,使用戶與Swagger 生成的API文檔的交互變得更加容易。我們在瀏覽器中輸入下面URL即可查看:

http://localhost:8080/swagger-ui/

結果應該是這樣的。

好,到這里 Swagger 的使用配置就算結束了。那接下來我們來看看怎么用JWT增加權限配置呢?

配置 JWT

JWT 是什么?相信大家都一定聽過吧,它就是 JSON Web Token 的縮寫。話不多說,直接上手代碼配置起來。在 SwaggerConfig 里面新增代碼。

我們先來配置 ApiKey 作為 JWT 的認證 header信息:

   public static final String AUTHORIZATION_HEADER = "Authorization";
private ApiKey apiKey(){
return new ApiKey("JWT", AUTHORIZATION_HEADER, "header");
}

下一步,我們配置 JWT 的 SecurityContext , 對 SecurityContext 配置全局的 AuthorizationScope :

   private SecurityContext securityContext(){
return SecurityContext.builder().securityReferences(defaultAuth()).build();
}
private List<SecurityReference> defaultAuth(){
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
return Arrays.asList(new SecurityReference("JWT", authorizationScopes));
}

然后我們配置 Docket 對象,對 Docket 對象設置 SecurityContext ,SecuritySchemes。

   @Bean
public Docket api(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.securityContexts(Arrays.asList(securityContext()))
.securitySchemes(Arrays.asList(apiKey()))
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}

到這里,JWT 就配置完成了,感覺是不是挺簡單的?好,我們再來運行一下,看看效果

我們點擊右上角的 Authorize 按鈕,彈出一個輸入 apiKey 的彈出層。

輸入 api key 之后,點擊 Authorize 認證通過,我們就又能調用 API 接口調試了。

用注解定制 Swagger API 文檔

為了能夠定制 Swagger 文檔,swagger-core 提供了一套注解來聲明和操作輸出。

Swagger-core 注解:

Name

Description

@Api

標記為 Swagger 資源

@ApiModel

標記為 Swagger 模型

@ApiModelProperty

模型字段的屬性說明

@ApiOperation

http接口的說明

@ApiParam

http 接口參數說明

更多詳細的說明可以參考 GitHub 上的解釋:https://github.com/swagger-api/swagger-core/wiki/annotations

現在我們就舉個例子來解釋怎么使用這些個注解, 首先來看 @Api 和 @ApiOperation 怎么使用:

@Api(value = "CRUD Rest APIs for Post resources")
@RestController
@RequestMapping()
public class PostController {
@ApiOperation(value = "Get All Posts REST API")
@GetMapping("/api/v1/posts")
public PostResponse getAllPosts(
@RequestParam(value = "pageNo", defaultValue = "0", required = false) int pageNo,
@RequestParam(value = "pageSize", defaultValue = "100", required = false) int pageSize
){
...
}

}

再來看看 @ApiModel 和 @ApiModelProperty 怎么使用:

@ApiModel(description = "Post model information")
@Data
public class PostDto {
@ApiModelProperty(value = "Blog post id")
private long id;
}

是不是感覺 so easy?

總結

通過這篇文章我們學習了如何通過 Springfox 來搭建 Swagger API 文檔平臺,然后也學會了如何設置 JWT 的方式做認證,保證 API 不會被別人能夠惡意使用。


責任編輯:武曉燕 來源: Java技術指北
相關推薦

2011-07-13 09:54:22

VMware故障vSphere

2020-11-04 00:00:29

Kerberos協議身份

2009-10-12 13:41:00

RHEL 內核

2010-08-12 10:10:37

FlexMapABC

2009-02-10 09:36:00

局域網網速測試

2023-09-25 15:34:14

2015-06-09 09:25:34

2009-04-11 21:56:01

安全技術防火墻VPN

2009-02-03 09:48:00

DHCP服務器安全

2015-01-28 16:09:33

廣域網優化

2021-03-02 07:02:45

Linux操作系統

2010-05-24 13:00:49

2012-01-13 11:13:47

數據中心耗電量

2009-02-04 09:45:05

Java SocketSocket APIJava編程

2012-08-08 17:05:36

App運營

2022-03-10 15:11:46

分布式數據管理鴻蒙

2021-01-22 05:38:28

監控SpringbootActuator

2021-09-04 23:27:58

Axios源碼流程

2014-04-24 14:00:35

OpenGL ES 2編程

2022-10-08 08:41:32

JDBCJavaLinux
點贊
收藏

51CTO技術棧公眾號

日韩欧美一区二区三区四区 | 成人午夜福利一区二区| 一区二区乱码| 国产精品麻豆欧美日韩ww| 91成人理论电影| 免费污污视频在线观看| 亚洲网色网站| 国产视频亚洲精品| 黄色aaaaaa| 偷拍视频一区二区三区| 亚洲精品videosex极品| 日本一区二区三区免费看| 午夜免费福利视频| 日本午夜一区二区| 97视频在线观看网址| 99精品中文字幕| 亚洲精品国产setv| 日韩视频在线你懂得| 白嫩少妇丰满一区二区| 秋霞在线视频| √…a在线天堂一区| 欧美不卡福利| 高h调教冰块play男男双性文| 日韩电影在线免费看| 欧美精品成人在线| 神马午夜精品91| 成人免费在线播放| 日韩精品视频在线| 日本一级大毛片a一| 亚洲综合伊人| 精品婷婷伊人一区三区三| 全黄性性激高免费视频| 成人在线免费看黄| 亚洲欧美综合在线精品| 日韩成人在线资源| 日本韩国一区| 91在线视频18| 国内精品久久国产| 欧美一区二区在线观看视频| 国内一区二区在线| 成人免费自拍视频| 亚洲图片视频小说| 久久综合图片| 国产a∨精品一区二区三区不卡| 国产精品日日夜夜| 在线成人国产| 久久频这里精品99香蕉| 九九九久久久久| 中文精品久久| 欧美大奶子在线| 国产97免费视频| 午夜欧美理论片| 久久成人在线视频| 欧美精品乱码视频一二专区| 欧美ab在线视频| 欧美日本中文字幕| 国产污视频在线观看| 在线国产日韩| 欧美专区国产专区| 天天爱天天做天天爽| 日韩高清在线一区| 国产欧美va欧美va香蕉在| 日本a级c片免费看三区| 日韩高清一区在线| 成人国内精品久久久久一区| 99热这里只有精品3| 国产精品自拍三区| 岛国视频一区免费观看| 少妇av在线播放| 久久久午夜电影| 色姑娘综合av| 麻豆网在线观看| 亚洲一区欧美一区| 久久久999视频| 免费在线观看一区| 欧美久久久久久蜜桃| 精品无码av一区二区三区| 日韩美女毛片| 中文字幕在线亚洲| 欧美激情精品久久| 久久精品日产第一区二区| 国产欧美日韩精品在线观看| 亚洲精品综合网| 久久久国产精品不卡| 宅男av一区二区三区| 9999热视频在线观看| 色哟哟一区二区| 日韩精品在线播放视频| 神马久久av| www欧美日韩| 日本午夜精品理论片a级app发布| 性久久久久久| 91九色对白| 国产在线91| 一区二区在线观看免费| 成人三级视频在线播放| 国产精品毛片aⅴ一区二区三区| 亚洲精品电影在线| 三级黄色免费观看| 亚洲国产高清一区| 成人av.网址在线网站| 囯产精品一品二区三区| 国产精品福利一区| 一女被多男玩喷潮视频| 97久久中文字幕 | 伦理片一区二区三区| 中文字幕在线不卡| 动漫av网站免费观看| 久久丁香四色| 在线视频一区二区| 国产第一页在线播放| 久久99在线观看| 欧美lavv| 美女av在线免费看| 欧美一区二区黄色| 国产精品久久免费观看| 国产精品久久久久9999高清| 91精品国产一区二区三区动漫| 国产福利片在线| 偷拍一区二区三区四区| 青娱乐国产精品视频| 欧美一区二区麻豆红桃视频| 66m—66摸成人免费视频| a天堂在线视频| 国产精品欧美一区喷水| 国产情侣av自拍| 性人久久久久| 97在线视频免费观看| av免费观看在线| 国产精品久久午夜夜伦鲁鲁| 久久黄色免费看| 国产成人1区| 欧美亚洲伦理www| 男人天堂网在线视频| 亚洲精品国产品国语在线app| 欧美在线aaa| 成人免费电影网址| 国产精品久久久久久久久久99| 欧洲成人av| 欧美日韩在线观看视频| 国产精品无码一区二区三| 在线观看日韩av电影| 国产乱码精品一区二区三区日韩精品 | 91香蕉视频网址| 欧美天堂一区二区| 国产一区二区三区在线播放免费观看| 二区视频在线观看| 26uuu亚洲综合色欧美| 欧美三级在线观看视频| 人人精品视频| 欧美在线国产精品| 婷婷五月综合激情| 日韩欧美在线观看视频| 玖玖爱在线观看| 日日骚欧美日韩| 视频一区视频二区视频三区视频四区国产 | 第一会所sis001亚洲| 国产精品久久久久久亚洲影视| 国产三级视频在线播放线观看| 91成人在线观看喷潮| 夜夜春很很躁夜夜躁| 美日韩一级片在线观看| 综合一区中文字幕| 日本高清精品| 午夜精品久久久久久久99热浪潮| 亚洲精品无码久久久| 五月婷婷久久综合| 香蕉视频黄色在线观看| 日韩激情视频在线观看| 午夜啪啪免费视频| 999精品视频在这里| 2020国产精品视频| 国产人成在线视频| 777久久久精品| 久久精品久久国产| 久久精品综合网| 日本精品一区在线| 在线电影一区| 天堂精品一区二区三区| 国产色99精品9i| 性色av香蕉一区二区| 黄色片免费在线| 欧美一区中文字幕| 国产91精品一区| 国产精品不卡在线观看| 日批免费观看视频| 视频在线观看91| 四虎4hu永久免费入口| 日本午夜精品久久久| 国产欧美久久久久久| 久草在线资源站手机版| xvideos国产精品| 色综合免费视频| 欧美精品 日韩| 国产情侣自拍av| 亚洲欧美福利一区二区| 日韩av在线看免费观看| 国产成人在线网站| 妓院一钑片免看黄大片| 国产精品av一区二区| 日本日本精品二区免费| 2020国产精品极品色在线观看| 国产精品成人在线| 182在线视频观看| 久久亚洲精品网站| 激情小视频在线观看| 日韩美女视频在线| 中文字幕第315页| 欧美日韩免费网站| 成人免费视频国产免费观看| 久久精品水蜜桃av综合天堂| 一级黄色免费视频| 极品美女销魂一区二区三区| aaaaaa亚洲| 亚洲国产国产亚洲一二三| 男同互操gay射视频在线看| 国产真实有声精品录音| 国产精品亚洲综合| 免费观看在线一区二区三区| 国产精品久久久久久中文字| 日韩脚交footjobhd| 久久久久久成人精品| 国产调教视频在线观看| 最近更新的2019中文字幕| 日本在线一二三| 亚洲精品国产精品自产a区红杏吧| 国产免费黄色片| 欧美日韩亚洲综合一区| 久久这里只有精品9| 色综合久久久久网| 日韩在线视频免费播放| 疯狂欧美牲乱大交777| 日操夜操天天操| 亚洲一区在线观看网站| 青青草手机在线观看| 亚洲品质自拍视频| 殴美一级黄色片| 国产精品国产三级国产| 99自拍偷拍视频| 欧美国产国产综合| 日本美女bbw| 中文字幕av资源一区| 九九热久久免费视频| 中文字幕一区二区三区在线不卡| 四虎成人免费影院| 亚洲国产成人私人影院tom| 99精品欧美一区二区| 亚洲国产精品二十页| 一级二级黄色片| 中文字幕在线不卡一区二区三区| 999精品视频在线观看播放| 亚洲精品视频一区二区| 黄色一级视频免费观看| 亚洲午夜成aⅴ人片| 97久久久久久久| 在线一区二区三区| 一区二区视频播放| 欧美精品自拍偷拍| 国产av一区二区三区| 精品国产网站在线观看| 秋霞视频一区二区| 国产视频在线一区二区| 91在线视频| 久久综合久久美利坚合众国| 里番在线播放| 日本成人黄色片| 素人啪啪色综合| 成人免费自拍视频| 成人性生交大片免费看中文视频 | 国产精品成久久久久三级| 懂色aⅴ精品一区二区三区| 成人h猎奇视频网站| 日本精品在线观看| 精品一区2区三区| 不卡中文一二三区| 国风产精品一区二区| 一二三区精品| 性chinese极品按摩| 国产福利视频一区二区三区| 亚洲制服丝袜在线播放| 中文乱码免费一区二区| 久久久久久久久毛片| 欧美性xxxxxxxxx| 国产一区二区三区成人| 亚洲国产另类久久精品| 2019中文字幕在线视频| 久久久久久久久久久成人| 日韩精品免费观看视频| 91福利视频导航| 国产精品一国产精品| 18视频在线观看娇喘| 毛片一区二区| 欧美熟妇另类久久久久久多毛| 久久综合色播五月| 午夜剧场免费在线观看| 欧美日韩国产限制| 99国产揄拍国产精品| 亚洲区中文字幕| 污片在线免费观看| 国产精品一区二区3区| 精品一区二区男人吃奶| 伊人久久大香线蕉成人综合网| 国产欧美另类| 潘金莲一级淫片aaaaa| 国产精品视频一二| 日本高清www免费视频| 91精品麻豆日日躁夜夜躁| 深夜福利在线视频| 久久精品视频网站| 性感美女一区二区在线观看| 国产精品乱子乱xxxx| 婷婷成人基地| 中文字幕第80页| 久久亚洲欧美国产精品乐播| 国产亚洲精品久久久久久无几年桃 | 久久精品亚洲精品国产欧美 | 在线免费亚洲电影| 黄色片网站免费在线观看| 久久艳片www.17c.com | 一道本成人在线| 四虎免费在线观看| 欧美高清第一页| 国产精品日本一区二区不卡视频 | 夜级特黄日本大片_在线| 91爱视频在线| 老牛精品亚洲成av人片| av在线com| 国产精品亚洲一区二区三区妖精| 欧美日韩生活片| 欧美自拍偷拍一区| 黄色av免费在线观看| 人人澡人人澡人人看欧美| 日韩成人av在线资源| 欧日韩免费视频| 9色porny自拍视频一区二区| 国产一级做a爱免费视频| 欧美成人性战久久| 手机av在线播放| http;//www.99re视频| 午夜日韩av| 最新版天堂资源在线| 亚洲国产精品久久不卡毛片| 午夜精品小视频| 亚洲**2019国产| 久久av国产紧身裤| jizzjizzxxxx| 久久久精品国产免大香伊 | 9191成人精品久久| 日本中文字幕在线看| 成人免费午夜电影| 欧美日韩少妇| 亚洲av成人精品一区二区三区 | 亚洲人成无码网站久久99热国产| 成人美女视频在线看| 日韩成人高清视频| 日韩国产在线看| 最新日韩三级| 亚洲欧美99| 国产一区二区三区不卡在线观看| 国产精品三区在线观看| 精品日产卡一卡二卡麻豆| 国产精品69xx| 欧美人xxxxx| 麻豆久久久久久久| 欧美精品久久久久性色| 日韩成人免费视频| 成人不卡视频| 色婷婷777777仙踪林| 丁香另类激情小说| 日韩黄色在线播放| 色爱av美腿丝袜综合粉嫩av| 欧美高清hd| 春日野结衣av| 国产精品久久午夜| 性生活黄色大片| 欧美在线视频网站| 97精品视频| 欲求不满的岳中文字幕| 欧美中文字幕一区| 午夜影院免费在线| 蜜桃狠狠色伊人亚洲综合网站| 美女脱光内衣内裤视频久久网站| 亚洲国产精品久| 亚洲欧洲日产国码av系列天堂| 成人av在线播放| 国产午夜伦鲁鲁| 亚洲精品成a人| 国产资源在线播放| 亚洲自拍偷拍在线| 午夜在线播放视频欧美| 波多野结衣亚洲一区二区| 亚洲黄色av女优在线观看| 欧美aaa级| 国产精品秘入口18禁麻豆免会员| 国产精品美女www爽爽爽| 天天操天天干天天| 91久久精品日日躁夜夜躁国产| 国产精品久久久久毛片大屁完整版| 亚洲一二三四视频| 亚洲二区中文字幕|