精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

精品国产乱码久久久久久蜜臀 | 欧美日韩第一页| 美女被艹视频网站| 欧美裸体视频| 自拍视频在线观看一区二区| 国产主播一区二区三区四区| 丰满熟女人妻一区二区三| 欧美黄在线观看| 亚洲人av在线影院| 久久久高清视频| 天天色天天干天天色| 一区二区久久精品66国产精品| 欧美日韩视频| 中文字幕综合一区| 少妇饥渴放荡91麻豆| 久久精品一级| 欧洲精品中文字幕| 欧美大片在线播放| 成人看av片| 国产欧美综合在线| 狠狠色噜噜狠狠色综合久| 国产精品福利电影| 日韩精品久久理论片| 欧美精品videossex88| 战狼4完整免费观看在线播放版| 狼人天天伊人久久| 欧美一区二区三区日韩| 三级视频中文字幕| 亚洲欧美一区二区三区| 亚洲第一精品在线| av影院在线播放| 日本中文字幕伦在线观看| 91欧美激情一区二区三区成人| 成人免费视频网站| 国产丰满果冻videossex| 鲁丝一区二区三区| 国产精品蜜月aⅴ在线| 色综合久久综合网| 日韩中文字幕在线视频观看| 国内老司机av在线| 亚洲夂夂婷婷色拍ww47| 亚洲五码在线观看视频| a视频在线观看免费| 国产精品久久久久四虎| 亚洲人成网站在线观看播放| www.黄在线观看| 中文幕一区二区三区久久蜜桃| 欧美专区一二三 | 久久综合给合| 91精品国产色综合久久ai换脸| 亚洲另类第一页| 日韩漫画puputoon| 欧美熟乱第一页| 在线观看的毛片| 日韩精品一页| 91精品免费在线观看| 麻豆网站免费观看| 成人爽a毛片| 亚洲精品久久久久中文字幕欢迎你 | 国产精品18hdxxxⅹ在线| 精品国产凹凸成av人导航| 亚洲成人精品在线播放| 国产精品任我爽爆在线播放| 日韩精品免费电影| 国产传媒在线看| 国产精品毛片一区二区在线看| 天天影视色香欲综合网老头| 日韩欧美高清dvd碟片| 五月天丁香花婷婷| 亚洲综合网狠久久| 亚洲国模精品私拍| 国产精品扒开腿做爽爽| 久久国产电影| 欧美俄罗斯性视频| 天天操天天操天天操天天| 日韩在线a电影| 96国产粉嫩美女| 日本韩国在线观看| 久久精品人人做人人爽人人| 夜夜爽99久久国产综合精品女不卡 | 全球成人免费直播| 欧美成人免费网| 日韩xxx高潮hd| 日韩电影一二三区| 91精品天堂| 三级国产在线观看| 中文字幕一区二区日韩精品绯色| 欧美精品在欧美一区二区| 性欧美1819sex性高清| 欧美人动与zoxxxx乱| 国产性生活毛片| 成人羞羞动漫| 韩国日本不卡在线| 一个人看的www日本高清视频| 高清国产一区二区| 日韩一二三区不卡在线视频| 欧美videossex| 色老头久久综合| 国产吃瓜黑料一区二区| 精品久久久久久久| 97精品在线观看| 一级黄色片在线| 久久亚洲一级片| www.日本三级| 日日夜夜亚洲| 亚洲人成电影在线| 亚洲欧美日韩国产成人| 久久午夜夜伦鲁鲁片| 欧美mv日韩| 秋霞av国产精品一区| 亚洲av综合色区无码一区爱av| 久久午夜老司机| 男人天堂a在线| 亚洲欧洲日韩精品在线| 亚洲无限av看| 天堂网一区二区三区| 国产一区高清在线| 亚洲福利av| 成人性生活视频| 亚洲精品成人免费| 国产精品 欧美 日韩| 国产一区美女在线| 一区二区不卡在线视频 午夜欧美不卡'| 特黄毛片在线观看| 亚洲成人精品在线| 高h视频免费观看| 久久99久久99| 一本一道久久a久久综合精品| 在线天堂资源www在线污| 亚洲成人aaa| 久久久久久久久久久久国产| 国产一区二区伦理| 妞干网这里只有精品| 国产精品99久久久久久董美香| 亚洲天堂第一页| 亚洲s码欧洲m码国产av| 97久久超碰国产精品| 久久亚洲中文字幕无码| 成人偷拍自拍| 高清一区二区三区日本久| 亚洲精品成av人片天堂无码| 一区二区视频在线| av地址在线观看| 午夜久久影院| 国产九色精品| 欧美男人天堂| 亚洲欧美中文字幕| 精品久久久久久久久久久久久久久久久久| 91色在线porny| 黄色一级一级片| 精品国产网站| 成人黄色免费网站在线观看| 成人影欧美片| 欧美成人一区二区| 国产精品第二十页| 国产亚洲欧美日韩在线观看一区二区| 国产午夜亚洲精品理论片色戒| 国产精品视频二| 狼人天天伊人久久| 久久久不卡影院| 国产福利久久精品| 黄色羞羞视频在线观看| 精品国产制服丝袜高跟| 国产精品美女毛片真酒店| aaa欧美日韩| 日韩免费毛片视频| 精品久久一区| 亚洲r级在线观看| 青春草在线免费视频| 亚洲国产古装精品网站| 日本黄色一级视频| 日韩毛片视频在线看| 四虎国产精品永久免费观看视频| 亚洲天堂偷拍| 欧美亚洲一级二级| 四虎永久精品在线| 国内外成人免费激情在线视频| 四虎在线观看| 欧美久久久久久久久久| 九九热视频精品| 久久蜜桃av一区精品变态类天堂 | 成人精品视频.| 日韩精品一区二区三区久久| 99热自拍偷拍| 亚洲人成777| 久久久午夜视频| wwwxxx在线观看| 欧美v亚洲v综合ⅴ国产v| 国产免费av一区| 亚洲欧美乱综合| 毛片网站免费观看| 国产精品伊人色| 成人午夜视频免费在线观看| 中文字幕一区二区三三| 日本不卡一二三区| 午夜视频在线观看精品中文| 国产精品91在线| 第四色日韩影片| 色偷偷888欧美精品久久久| 天堂av中文字幕| 5月丁香婷婷综合| 国产一级片免费在线观看| 亚洲综合成人在线| 亚洲不卡的av| 久久久久久一二三区| 男插女视频网站| 日本特黄久久久高潮| 国产原创popny丨九色 | 久久视频中文字幕| 外国精品视频在线观看| 欧美日韩国产系列| 久久国产视频一区| 亚洲高清视频的网址| 精品自拍偷拍视频| 国产精品免费视频网站| 亚洲精品国产91| jlzzjlzz国产精品久久| 亚洲成人激情小说| 国产在线看一区| 久热精品在线观看视频| 香蕉久久夜色精品国产| 国产精品网站免费| 精品动漫3d一区二区三区免费| 中文字幕黄色大片| 久久国产精品亚洲人一区二区三区| 欧美成人综合一区| 日韩精品福利一区二区三区| 成人自拍爱视频| 亚洲精品一区二区三区中文字幕| 成人综合网网址| 亚洲综合伊人| 成人观看高清在线观看免费| 久久青草免费| 国产精品入口夜色视频大尺度| 午夜欧美巨大性欧美巨大| 日韩av第一页| 欧洲亚洲两性| 国产成人激情小视频| 欧美一区久久久| 国产精品成人va在线观看| 免费观看成人性生生活片| 日本久久久a级免费| 免费日韩电影| 国产精品久久久久久久久粉嫩av| 经典三级一区二区| 国产精品美女主播| 欧美高清免费| 91久久中文字幕| 亚洲最新av网站| 国产一区日韩一区| 久久久久久久久网| 国产专区一区| 3d动漫一区二区三区| 亚久久调教视频| 少妇性l交大片| 麻豆精品久久精品色综合| xxxx在线免费观看| 免费黄色av片| 欧美性色黄大片| 夜夜狠狠擅视频| 91精品国产91久久久久久一区二区| 99久久精品国产一区色| 日韩精品一区二区三区中文不卡| 国精产品一品二品国精品69xx| 亚洲第一国产精品| 男女视频在线观看免费| 色婷婷**av毛片一区| 青草影视电视剧免费播放在线观看| 国模视频一区二区三区| 日本高清不卡一区二区三区视频 | 亚洲精品大全| 国产精品大全| 国产欧美日韩免费观看| 中文字幕一区二区三区乱码| 在线观看的日韩av| 黄色国产小视频| 国产成人在线观看| 国产精品一区二区入口九绯色| 国产精品视频观看| 国产性70yerg老太| 日本道免费精品一区二区三区| 国产精品久久婷婷| 亚洲国产私拍精品国模在线观看| av在线天堂| 亚州精品天堂中文字幕| 欧美一级做一级爱a做片性| 91色视频在线导航| 妖精视频一区二区三区| 国产 国语对白 露脸 | 丰满人妻一区二区三区大胸| 久久午夜免费电影| 青草影院在线观看| 91国模大尺度私拍在线视频 | 日本色护士高潮视频在线观看| 欧美第一淫aaasss性| 日韩新的三级电影| 成人伊人精品色xxxx视频| 成人香蕉社区| 亚洲欧美日韩在线综合| 亚洲三级视频| 天天影视色综合| 91热门视频在线观看| 日本妇女毛茸茸| 一本色道久久综合狠狠躁的推荐| 国产麻豆免费视频| 国产一级揄自揄精品视频| 尤物视频在线看| 国产精品久久久久久久久久免费| 荡女精品导航| 日日噜噜夜夜狠狠久久丁香五月| 久久先锋影音| 丰满岳乱妇一区二区| 亚洲日本一区二区三区| 自拍偷拍福利视频| 日韩av一卡二卡| 欧洲一区二区三区| 成人黄色在线免费| 日韩啪啪电影网| 国产免费人做人爱午夜视频| 成人激情视频网站| 免费网站观看www在线观| 欧美精选一区二区| 在线免费观看黄色网址| 国产ts一区二区| 欧美18xxxx| 欧美人成在线观看| 国产精品白丝jk黑袜喷水| 国产男女猛烈无遮挡在线喷水| 欧美性大战久久久久久久| 欧美一区二区少妇| 538国产精品一区二区免费视频| 99精品国产一区二区三区2021 | 欧美电影免费提供在线观看| 黄网站视频在线观看| 国产精自产拍久久久久久蜜| blacked蜜桃精品一区| 亚洲欧美另类动漫| 久久日韩粉嫩一区二区三区| 国产毛片aaa| 精品视频在线播放免| 欧美激情网站| 欧美精品中文字幕一区二区| 免费在线亚洲欧美| 在线 丝袜 欧美 日韩 制服| 色综合天天性综合| 国产在线高清| 国产欧美欧洲在线观看| 久久久久久久久丰满| 国产不卡的av| 亚洲制服丝袜在线| 亚洲aaa在线观看| 伊人av综合网| 日韩激情一区二区三区| 欧美一区二区三区免费| 日本免费在线观看| 成人网在线免费观看| 91精品二区| 26uuu国产| 五月天一区二区三区| 欧美xxx.com| 国产精品视频播放| 欧美 日韩 国产 一区| 动漫av在线免费观看| 欧美午夜激情小视频| sese一区| av激情久久| 亚洲女同同性videoxma| 人人爽人人爽人人片| 欧美一区三区二区| 女人让男人操自己视频在线观看| 欧美一区二视频在线免费观看| 美女视频网站黄色亚洲| 国产性生活网站| 亚洲女人天堂色在线7777| 亚洲最大的免费视频网站| 国产成人永久免费视频| 91久色porny| 国产精品国产精品国产专区| 国内精品久久久久久久久| 欧美日韩老妇| 国产精品果冻传媒| 在线观看日韩精品| 污污的视频在线观看| 日本不卡一区二区三区视频| 精品一二三四区| 国产成人免费观看视频| 日日骚久久av| 久久精品福利| 中文字幕线观看| 狠狠躁夜夜躁人人躁婷婷91| 日本激情视频在线观看| 精品国产日本| 国产一区二区导航在线播放| 亚洲另类在线观看| 九九热精品在线| 大片网站久久| 网站免费在线观看| 日韩精品在线一区| 黑人一区二区三区| 男女av免费观看|