国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Boot整合Swagger測試api構建全紀錄

Spring Boot整合Swagger測試api構建全紀錄

2021-07-02 14:27SimpleWu Java教程

這篇文章主要給大家介紹了關于Spring Boot整合Swagger測試api構建的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

什么是swagger?

swagger是什么:the world's most popular api tooling

根據官網的介紹:

swagger inspector:測試api和生成openapi的開發工具。swagger inspector的建立是為了解決開發者的三個主要目標。

  • 執行簡單的api測試
  • 生成openapi文檔
  • 探索新的api功能

我的理解swagger是一個規范和完整的框架,用于生成、描述、調用和可視化restful風格的web服務。簡單來說,swagger是一個功能強大的接口管理工具,并且提供了多種編程語言的前后端分離解決方案。根據我的使用,當然我只是最簡單的使用,我感覺swagger有以下幾個優點:

swagger可以整合到代碼中,在開發時通過注解,編寫注釋,自動生成api文檔。
將前端后臺分開,不會有過分的依賴。

界面清晰,無論是editor的實時展示還是ui的展示都十分人性化,如果自己僅僅用markdown來編寫,又要糾結該如何展現,十分痛苦。

構建項目

step1.導入依賴

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!--swagger服務api構建個性包-->
<dependency>
 <groupid>io.springfox</groupid>
 <artifactid>springfox-swagger2</artifactid>
 <version>2.6.1</version>
</dependency>
<!--swagger ui界面-->
<dependency>
 <groupid>io.springfox</groupid>
 <artifactid>springfox-swagger-ui</artifactid>
 <version>2.6.1</version>
</dependency>
<!--springboot web服務-->
<dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-web</artifactid>
</dependency>
<!--springboot單元測試-->
<dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-test</artifactid>
 <scope>test</scope>
</dependency>

step2.編寫swagger配置類

想要使用swagger功能必須提供配置類,主要配置ui界面信息,以及配置掃描位置,swagger會根據配置的路徑掃描所有的服務生成api。

其中核心requesthandlerselectors.basepackage("com.simple.spring.boot.controller"),在這里配置我們的需要的掃描包位置。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@configuration
@enableswagger2
public class swaggerconfig {
@bean
public docket createrestapi() {
  return new docket(documentationtype.swagger_2).apiinfo(apiinfo())
   .select()
   .apis(requesthandlerselectors.basepackage("com.simple.spring.boot.controller"))
   .paths(pathselectors.any()).build();
}
private apiinfo apiinfo() {
 return new apiinfobuilder()
  .title("spring boot中使用swagger2構建restful apis")
  .description("myapp")
  .termsofserviceurl("http://blog.csdn.net/simplewu")
  .version("1.0").build();
 }
}

step3.編寫springboot啟動類

@componentscan(basepackages={"com.simple.spring.boot.controller"}) 也是需要配置掃描路徑。

?
1
2
3
4
5
6
7
@springbootapplication
@componentscan(basepackages={"com.simple.spring.boot.controller"})
public class swaggerapplication {
 public static void main(string[] args) {
  springapplication.run(swaggerapplication.class, args);
 }
}

step4.創建前端控制器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@restcontroller
@api(tags = "swgger測試服務", description = "swgger測試服務")
@requestmapping(value = "/simple/wu")
public class testcontroller {
 
 @apioperation(value="測試post方法", notes="測試post方法")
 @apiimplicitparam(name = "令牌", value = "id", required = true, datatype = "token")
 @requestmapping(value="hello", method=requestmethod.post)
 public string post(@requestbody string token) {
  books.put(book.getid(), book);
  return "success";
 }
}
  • @api(tags = "swgger測試服務", description = "swgger測試服務") 指定某個類提供服務的名字
  • @apioperation(value="測試post方法", notes="測試post方法") 指定某個請求的名字
  • @apiimplicitparam(name = "令牌", value = "token", required = true, datatype = "string")指定名字對應參數為令牌,以及對應參數字段token,required = true代表這個參數為必填參數,datatype 代表數據類型。

step5.啟動服務

從上面的代碼中我們指定請求為post在ui界面上我們會看到一個服務名字為swgger測試服務的大類點擊進去后可以看到里面所擁有的請求,如果指定這個請求的類型那么無法進行單元測試,指定后我們會看到一個請求名字叫做測試post方法的請求并且需要填入必填參數token來完成我們的單元測試。

我們可以直接通過swaggerapplication類來運行main方法來進行服務,端口號默認為8080.

swagger地址:http://localhost:8080/swagger-ui.html 只需要在地址后面加上swagger-ui.html即可訪問

我們訪問這個位置即可看到ui界面,界面簡潔并且容易上手,我這邊就不截圖了。

step.總結

swagger官方文檔:https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api

swagger的一個最大的優點是能實時同步api與文檔。

在項目開發過程中,發生過多次:修改代碼但是沒有更新文檔,前端還是按照老舊的文檔進行開發,在聯調過程中才發現問題的情況(當然依據開閉原則,對接口的修改是不允許的,但是在項目不穩定階段,這種情況很難避免)。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://www.cnblogs.com/SimpleWu/archive/2019/01/12/10261140.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品专区 | 老司机午夜免费精品视频 | 日韩电影在线看 | 亚洲一区 日韩精品 中文字幕 | 亚洲免费网 | 在线欧美日韩 | 日本三级中文在线电影 | 青青草草| 新久久久 | 成人自拍视频 | 国产精品二区一区二区aⅴ污介绍 | 国产一区免费视频 | 欧美视频中文字幕 | 亚洲生活片 | 老熟女毛片 | 中文久久 | 美女扒开尿口来摸 | 色一色网站 | 国产在线91| 亚洲一区精品在线 | 欧洲精品久久久 | 久久久久综合 | 欧美精品成人 | av日韩在线播放 | 91亚洲国产成人久久精品网站 | 国产精品久久久久久一区 | 久久国产精品久久精品 | 欧美性猛交一区二区三区精品 | 狠狠的日| 久久国产精品一区二区三区 | 在线观看国产视频 | 日韩欧美成人影院 | 93看片淫黄大片一级 | 日韩成人免费视频 | 色综网| 国产91久久久久蜜臀青青天草二 | 亚洲视频一区 | 在线亚洲精品 | 国产精品三区在线 | 久久久久a| 日韩av影片 |