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

真的別再用Swagger了,你知道為什么嗎?

開發 前端
如果是swagger 的寫法,每個字段都要加上 @ApiModelProperty("xxx") 的注解,如果有幾十個字段,幾十個類,那代碼量多的可不小。

哈嘍,大家好,我是了不起。

首先,Swagger 這個工具能夠自動生成 API 接口文檔,在線調試,節省了很多書寫文檔的時間,非常強大。

但是,想要文檔生成的合格,還是要書寫大量的注解。有沒有一種連注解都不用寫的方式呢?

smart-doc簡介

今天了不起給大家推薦一個技術:smart-doc,看名字就知道,它是 智能-文檔。直接分析代碼,根據代碼含義生成文檔(開個玩笑,它還沒有那么智能);其實它是利用的注釋,來生成文檔,還是需要寫注釋的。

官方介紹:smart-doc是一款同時支持JAVA REST API和Apache Dubbo RPC接口文檔生成的工具,smart-doc在業內率先提出基于JAVA泛型定義推導的理念, 完全基于接口源碼來分析生成接口文檔,不采用任何注解侵入到業務代碼中。你只需要按照java-doc標準編寫注釋, smart-doc就能幫你生成一個簡易明了的Markdown、HTML5、Postman Collection2.0+、OpenAPI 3.0+的文檔。

swagger和smart-doc的對比

我們來看看swagger和smart-doc的區別

來看看smart-doc 的代碼

圖片

如果是swagger 的寫法,每個字段都要加上 @ApiModelProperty("xxx") 的注解,如果有幾十個字段,幾十個類,那代碼量多的可不小。

不過這些類一般都是自動生成工具生成的,對寫代碼的人影響不大,不過這樣子寫倒是簡潔了不少,甚得我意~

可能有人就說了,我不寫注釋,只寫swagger注解,看起來也很簡潔,這也確實沒錯。

圖片

確實看起來很簡潔,不過沒有文檔注釋的情況下,在其他類里你是看不到這個字段的解釋的,每次找字段都得回到這個類看看到底是不是這個字段。如果你和同事們的英語都 very good,當我沒說。

如果是api接口,smart-doc想要生成文檔,需要寫成這樣(好像看起來什么都沒寫)

圖片

而swagger就需要加上@ApiOperation()這個注解,如果是個參數多的接口,還需要@ApiImplicitParams()這個注解,徒增學習成本

圖片

使用smart-doc

總共需要3步:

1.引入pom依賴,是一個插件

<!-- smart-doc插件 -->
<plugin>
    <groupId>com.github.shalousun</groupId>
    <artifactId>smart-doc-maven-plugin</artifactId>
    <version>${smart-doc-plugin.version}</version>
    <configuration>
        <!--指定生成文檔的使用的配置文件-->
        <configFile>${basedir}/src/main/resources/smart-doc.json</configFile>
        <!--指定項目名稱-->
        <projectName>${project.name}</projectName>
        <excludes>
            <!--格式為:groupId:artifactId;參考如下-->
            <!--也可以支持正則式如:com.alibaba:.* -->
            <exclude>com.fu:common-.*</exclude>
            <exclude>com.fu:generator</exclude>
        </excludes>
    </configuration>
    <executions>
        <execution>
            <!--如果不需要在執行編譯時啟動smart-doc,則將phase注釋掉-->
            <phase>compile</phase>
            <goals>
                <goal>openapi</goal>
            </goals>
        </execution>
    </executions>
</plugin>

2.編寫smart-doc.json文件

{
  // 參考文檔:https://smart-doc-group.github.io/#/zh-cn/start/quickstart
  "outPath": "D:\\111",

  "coverOld": true,
  "allInOne": true, // 是否將文檔合并到一個文件中,一般推薦為true
  "createDebugPage": true,//@since 2.0.0 smart-doc支持創建可以測試的html頁面,僅在AllInOne模式中起作用。
  "isStrict": false, //是否開啟嚴格模式
  // controller包過濾,多個包用英文逗號隔開
  "packageFilters": "com.fu.system.controller.*",
  "projectName": "system",
  "sortByTitle": true, // 接口排序
  "ignoreRequestParams":[ //忽略請求參數對象,把不想生成文檔的參數對象屏蔽掉,@since 1.9.2
    "javax.servlet.http.HttpServletRequest",
    "javax.servlet.http.HttpServletResponse",
    "javax.servlet.http.HttpSession"
   ]
}

3.運行這個插件,如果很熟悉mvn命令,在命令行運行它也行;可以生成openapi、postman、html、Markdown等各種格式的文檔

圖片

關于pom 和 smart-doc.json 的配置,具體配置可前往官方文檔查看:

https://smart-doc-group.github.io/#/zh-cn/?id=smart-doc

文檔自動化

如果它不能和swagger一樣,自動部署文檔,還得手動,那也不會來推薦這個了。

官方推薦方式:smart-doc + Torna 

需要額外部署一個 Torna 文檔接口服務,類似 yapi;很多企業也都是單獨部署的接口文檔服務。

可以看出來界面比swagger好太多了

圖片

了不起這里給大家另一種方案,本地自動部署,smart-doc + apifox(postman應該也可以)

apifox -> 接口導入 -> 自動同步

圖片

圖片

這個數據源URL可以直接配置為 file:///D:/111/openapi.json,在你配置pom的時候,直接配置成編譯項目時生成 openapi格式的文檔,就可以自動部署到apifox,完美~

小結

今天了不起對這個smart-doc就介紹到這里了,感興趣的小伙伴可以用起來了,對代碼0侵入,簡直太適合我這種強迫癥患者了。

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

2023-09-08 08:35:42

層疊樣式表CSS

2024-04-03 09:23:31

ES索引分析器

2018-10-28 15:40:23

Python編程語言

2023-03-09 08:23:07

序列化?接口方法

2014-07-15 11:05:30

黑莓

2022-09-28 18:16:34

JavaJDK

2020-12-07 06:05:34

apidocyapiknife4j

2025-05-19 04:00:00

2020-09-03 06:42:12

線程安全CPU

2020-12-04 10:05:00

Pythonprint代碼

2020-12-02 11:18:50

print調試代碼Python

2021-06-09 06:41:11

OFFSETLIMIT分頁

2024-12-02 12:34:06

2023-10-26 16:33:59

float 布局前段CSS

2021-05-25 09:30:44

kill -9Linux kill -9 pid

2020-12-15 08:06:45

waitnotifyCondition

2021-01-29 11:05:50

PrintPython代碼

2020-12-03 09:05:38

SQL代碼方案

2024-04-07 00:00:03

2022-09-22 14:55:31

前端JavaScripthis
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久免费 | 超碰97免费 | 色综合天天天天做夜夜夜夜做 | 成人影院在线观看 | 欧美精品一区二区三区在线播放 | 欧洲一级视频 | 色精品| 亚洲中午字幕 | 中文字幕在线视频免费观看 | 亚洲视频免费在线 | 日韩欧美成人精品 | 国产欧美精品一区二区三区 | 国产成人精品综合 | 成人免费黄色 | 97人澡人人添人人爽欧美 | 成人免费视频网站在线观看 | 人人鲁人人莫人人爱精品 | 97久久久久久久久 | 精精国产xxxx视频在线播放 | 久久99视频这里只有精品 | 一本一道久久a久久精品综合蜜臀 | 日日干干 | 国产精品高潮呻吟久久 | 天天射中文| 一区二区三区在线 | 91精品久久久久久久久久入口 | 久久国产精品视频 | 天天综合久久 | 日韩中文字幕在线观看 | 91精品www| 蜜桃免费一区二区三区 | 国产一区免费 | 国产精品久久国产愉拍 | 伊人网综合在线观看 | 亚洲视频一区在线观看 | 国产午夜精品一区二区三区四区 | 国产精品免费看 | 99久久婷婷国产亚洲终合精品 | 日韩一区二区福利视频 | 国产欧美一区二区精品久导航 | 日本欧美在线视频 |