在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

swagger和smart-doc的區別

科技綠洲 ? 來源:Java技術指北 ? 作者:Java技術指北 ? 2023-09-30 16:08 ? 次閱讀

首先,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依賴,是一個插件

    
    plugin>
        groupId>com.github.shalousungroupId>
        artifactId>smart-doc-maven-pluginartifactId>
        version>${smart-doc-plugin.version}version>
        configuration>
            
            configFile>${basedir}/src/main/resources/smart-doc.jsonconfigFile>
            
            projectName>${project.name}projectName>
            excludes>
                
                
                exclude>com.fu:common-.*exclude>
                exclude>com.fu:generatorexclude>
            excludes>
        configuration>
        executions>
            execution>
                
                phase>compilephase>
                goals>
                    goal>openapigoal>
                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 (http://torna.cn/) 組成行業領先的文檔生成和管理解決方案,使用smart-doc無侵入完成Java源代碼分析和提取注釋生成API文檔,自動將文檔推送到Torna企業級接口文檔管理平臺。

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

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

圖片

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

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

圖片

圖片

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

小結

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8601

    瀏覽量

    151168
  • API
    API
    +關注

    關注

    2

    文章

    1501

    瀏覽量

    62027
  • SMART
    +關注

    關注

    3

    文章

    224

    瀏覽量

    44696
  • 源代碼
    +關注

    關注

    96

    文章

    2945

    瀏覽量

    66748
收藏 人收藏

    評論

    相關推薦

    藍牙BR/EDR 和Bluetooth Smart的十大重要區別

    (藍牙基本速率/增強數據率)和Bluetooth Smart 技術。本文將全面解析這兩種技術之間的區別,加深你對藍牙技術的了解!
    發表于 12-08 17:20 ?1.7w次閱讀
    藍牙BR/EDR 和Bluetooth <b class='flag-5'>Smart</b>的十大重要<b class='flag-5'>區別</b>

    swaggersmart-doc區別

    smart-doc簡介 今天了不起給大家推薦一個技術:smart-doc,看名字就知道,它是 智能-文檔。直接分析代碼,根據代碼含義生成文檔(開個玩笑,它還沒有那么智能);其實它是利用的注釋,來生成文檔,還是需要寫注釋的。 官方介紹:
    的頭像 發表于 09-30 10:01 ?509次閱讀
    <b class='flag-5'>swagger</b>和<b class='flag-5'>smart-doc</b>的<b class='flag-5'>區別</b>

    藍牙BR/EDR和Bluetooth Smart區別在哪里?

    藍牙BR/EDR和Bluetooth Smart區別在哪里?
    發表于 05-20 06:49

    單片機原理與應用DOC

    單片機原理與應用DOC
    發表于 03-21 20:28 ?59次下載

    TM-CIA與TMvideoDVR通訊協議.doc

    TM-CIA與TMvideoDVR通訊協議.doc
    發表于 04-05 00:00 ?23次下載

    數字電子技術基礎教案.doc下載

    數字電子技術基礎教案.doc 緒論.doc
    發表于 05-27 09:43 ?0次下載

    常用晶振型號.doc

    常用晶振型號.doc  帶寬又叫頻寬是指在固定的的時間可傳輸的資料數量,亦即在傳輸管道中可以傳遞數據
    發表于 02-09 14:51 ?195次下載

    doc文件用什么打開

    doc文件用什么打開 doc即微軟件公司的word文檔格式,這個問題算是初學電腦者的問題了。現在介紹一下打開軟件及方法。 首先當然是用微軟件公
    發表于 11-13 16:14 ?6.1w次閱讀
    <b class='flag-5'>doc</b>文件用什么打開

    PHPExcel_1.8.0_doc

    PHPExcel_1.8.0_doc,感興趣的可以看看。
    發表于 08-24 18:31 ?2次下載

    實用Altium Designer使用教程【DOC

    實用Altium Designer使用教程【DOC
    發表于 01-22 13:38 ?112次下載

    開關電源原理及分類.doc

    開關電源原理及分類.doc(電源技術在線作業)-開關電源原理及分類.doc
    發表于 08-04 16:26 ?18次下載
    開關電源原理及分類.<b class='flag-5'>doc</b>

    如何搭建 Swagger API文檔平臺

    , TurnAPI , Swagger 。今天我就來教大家如何使用 Swagger 搭建 API 文檔,并且配置權限使用。畢竟開發文檔還是內容使用的為好,萬一上線到生產環境,沒有關swagger 又沒有
    的頭像 發表于 10-09 15:37 ?831次閱讀
    如何搭建 <b class='flag-5'>Swagger</b> API文檔平臺

    LED與OLED的區別

    電子發燒友網站提供《LED與OLED的區別.doc》資料免費下載
    發表于 11-02 14:42 ?4次下載
    LED與OLED的<b class='flag-5'>區別</b>

    PLC西門子S7-200smart和S7-1200的區別

    PLC西門子S7-200smart和S7-1200的區別? 西門子S7-200 smart和S7-1200是西門子公司推出的兩個PLC產品系列,用于工業自動化控制系統。雖然它們都屬于西門子的S7系列
    的頭像 發表于 11-17 11:41 ?1w次閱讀

    DDR2與DDR的區別

    電子發燒友網站提供《DDR2與DDR的區別.doc》資料免費下載
    發表于 03-07 14:58 ?0次下載
    主站蜘蛛池模板: 激情五月开心婷婷| 天天操夜夜操天天操| 日本黄色激情视频| 国产资源免费观看| 成人在线视频网| 午夜精品视频在线看| 色网站观看| 特别毛片| 成 人 色综合| 日韩亚洲人成在线综合日本 | 日本黄色免费一级片| 亚洲网站色| 亚洲福利视频一区| 亚洲第二色| 高清激情小视频在线观看| 福利视频自拍偷拍| 婷婷了五月色香综合缴情| sihu免费观看在线高清| 看视频免费网站| 麒麟色欧美影院在线播放| 天天艹| a免费网站| 国产三片理论电影在线| 999久久久免费精品国产牛牛| 婷婷综合七月激情啪啪| 综合网天天操天天射| 视频免费1区二区三区| 久青草视频在线播放| 国产精品1区2区3区在线播放| 性毛片| 午夜剧场官网| 狠狠色噜噜狠狠狠狠2018| 国产精品特黄毛片| 8844aa在线毛片| 久久综合九色综合97婷婷群聊| 国产香蕉免费精品视频| 99久久免费精品国产免费高清| 国产在线色视频| 中文字幕一区二区三区永久| 麻豆色哟哟网站| 免费在线观看的视频|