成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

抱怨Swagger不好用?好吧我換一個好用的

開發 前端
最近前端們一直反映Swagger看接口信息非常不爽,于是我花了倆小時把Swagger干掉,用上了傳說中更好用的YApi。今天就簡單分享一下心得體會。

[[398313]]

最近前端們一直反映Swagger看接口信息非常不爽,于是我花了倆小時把Swagger干掉,用上了傳說中更好用的YApi。今天就簡單分享一下心得體會。

Swagger與YApi

其實我個人認為Swagger也沒啥不好的,后端集成起來方便快捷,就是UI不行,而且對于Java來說代碼的侵入性太高了。

swagger界面

YApi除了解決了這些問題之外還具有權限管理、團隊協作、自動化測試、支持OpenApi規范等等。

YApi界面

YApi區別于Swagger的最大不同就是YApi需要導入文檔(雖然它也可以通過Swagger輪詢導入),而Swagger可以自動發現。

安裝這里就不細說了,官方文檔說的很清楚。你可以選擇命令行部署、可視化部署,也能使用Docker部署。

推薦內網部署,畢竟大部分API文檔比較敏感。

文檔注釋

YApi的文檔解析基于Java注釋規范,沒有代碼侵入!但是這就要求我們要按照Javadoc的規范進行書寫文檔注釋,這是使用YApi的前提。一個接口文檔分為以下幾個部分。

接口類注釋

接口類的注釋,下面是基本的格式。第一行會作為菜單展示,盡量短小精悍;第二行是接口的描述,用來描述接口的作用和細節。

  1. /** 
  2.  * 接口分類名稱 
  3.  * <p> 
  4.  * 接口備注/描述 
  5.  * 
  6.  * @author felord 
  7.  * @since v1.0 
  8.  */ 
  9. @RestController 
  10. @RequestMapping("/foo"
  11. public class FooController { 
  12. // 省略 

還有@module、@copyright什么的其實可以不寫。

參數注釋

入參和出參的注釋,配合JSR-303有奇效哦。

  1. /** 
  2.  * 賬戶基本信息 
  3.  *  
  4.  * @author felord 
  5.  * @since v1.0 
  6.  */ 
  7. @Data 
  8. public class UserInfoDetail { 
  9.  
  10.     /** 
  11.      * 用戶名 
  12.      * 
  13.      * 配合JSR303注解聲明此字段的約束方式【必填】 
  14.      */ 
  15.     @NotBlank 
  16.     private String username; 
  17.     /** 
  18.      * 真實姓名 
  19.      */ 
  20.     private String realName; 
  21.     /** 
  22.      * 手機號碼 
  23.      */ 
  24.     private String phoneNumber; 
  25.     /** 
  26.      * 性別 -1 未知 0 女性 1 男性 
  27.      * 
  28.      * 使用@see來說明該字段的取值來源 
  29.      * @see GenderType#value() 
  30.      */ 
  31.     private Integer gender; 
  32.     /** 
  33.      * 昵稱 
  34.      */ 
  35.     private String nickName; 
  36.     /** 
  37.      * 微信號 
  38.      * 使用{@code Deprecated} 表示字典將來會廢棄 
  39.      */ 
  40.     @Deprecated 
  41.     private String wechatAccount; 
  42.     /** 
  43.      * 電子信箱 
  44.      */ 
  45.     private String email; 

接口方法注釋

入參為復雜對象的話注釋用@link引用,@RequestBody會指定Content-Type為application/json。

  1. /** 
  2.  * 新增用戶信息 
  3.  * 
  4.  * @param userInfoDetail 用戶信息參數 {@link UserInfoDetail} 
  5.  * @return {@link Boolean} 
  6.  */ 
  7. @PostMapping("/bar"
  8. public boolean detail(@RequestBody UserInfoDetail userInfoDetail) { 
  9.     return true

Post請求對應的樣式

如果參數是原始類型類型或者String,可以這樣寫,@RequestParam有奇效。

  1. /** 
  2.  * 獲取用戶信息 
  3.  * 
  4.  * @param name 姓名 
  5.  * @param age  年齡 
  6.  * @return {@link UserInfoDetail} 
  7.  */ 
  8. @GetMapping("/sam"
  9. public UserInfoDetail detailBySamples(@RequestParam String nameInteger age) { 
  10.     return new UserInfoDetail(); 

Get請求對應的樣式

導入文檔

YApi支持Swagger、Postman、JSON等方式導入文檔。不過我個人更喜歡使用插件導入,Intellij IDEA中推薦使用easy-yapi。導入的時候定位到對應的Controller,使用快捷鍵Alt+Ins呼出快捷菜單。

呼出快捷菜單

選擇Export Yapi ,首次選擇會讓你輸入YApi的服務器地址,還會讓你輸入對應項目的token字符串。

token 字符串

 

依次填入后,就會解析生成文檔并同步到YApi服務器了,結果就是上面截圖中的樣子。然后你可以配置權限分配給組員使用了,如果有文檔更新重復上面的步驟即可,YApi提供了幾種策略,你可以選擇覆蓋也可以選擇不覆蓋。YApi提供了比Swagger更豐富的功能,具體我還在探索中,如果有什么好玩的,會在后面分享給大家,還請多多關注。

本文轉載自微信公眾號「碼農小胖哥」,可以通過以下二維碼關注。轉載本文請聯系碼農小胖哥公眾號。

 

責任編輯:武曉燕 來源: 碼農小胖哥
相關推薦

2023-10-25 16:36:06

數字化轉型IT系統

2025-01-20 08:10:00

AI模型研究

2021-05-13 09:27:13

JavaThreadLocal線程

2023-03-13 00:21:21

調試器斷點開發者

2014-10-20 10:53:13

ArubaWi-Fi無線網絡

2019-09-12 10:10:10

Vim編輯器代碼

2020-04-22 10:01:26

Vim編輯器代碼

2019-05-09 18:24:28

Windows 10Windows操作系統

2014-02-21 10:20:40

2021-02-17 21:33:39

路由器產品網絡

2014-11-04 10:15:28

Android

2019-10-15 09:46:46

機器學習人工智能計算機

2021-07-28 06:46:25

Windows 操作系統微軟

2023-07-14 12:02:29

2021-07-28 14:32:03

Windows微軟

2020-10-19 08:14:58

Windows10

2019-10-31 16:10:48

Windows 10Windows技巧

2020-03-19 14:30:13

Windows觸摸板MacBook

2021-08-16 13:44:37

手機電子日本

2018-07-23 12:56:07

微信通信朋友圈
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区视频 | 午夜精品久久久久久久久久久久久 | 欧美亚洲国语精品一区二区 | 国产精品大片在线观看 | 毛片免费观看 | 国产精品二区三区 | аⅴ资源新版在线天堂 | 福利网址 | 亚洲精品中文在线观看 | 国产精品免费在线 | www.v888av.com| 亚洲色图第一页 | 国产精品国产a | 一级久久久久久 | 伊人激情网 | 精品欧美一区二区在线观看 | 欧美在线一区二区三区 | 91成人影院| 久久一区 | 国产午夜影院 | 天堂va在线观看 | 一区二区三区四区在线视频 | 日韩中文字幕在线视频 | 亚洲精品久久久蜜桃 | 欧美精品一区二区三区在线 | www.黄色网 | 精品欧美一区二区在线观看视频 | 久久99这里只有精品 | 韩日精品一区 | 人人玩人人添人人澡欧美 | 伊人狼人影院 | 午夜精品一区 | 综合激情av | 精产国产伦理一二三区 | 密室大逃脱第六季大神版在线观看 | 久久九九99 | 国产一区二区在线看 | 精品91视频| 黄色一级片aaa | 色av一区二区 | 99精品国产一区二区三区 |