亚洲精品亚洲人成在线观看麻豆,在线欧美视频一区,亚洲国产精品一区二区动图,色综合久久丁香婷婷

              當(dāng)前位置:首頁 > IT技術(shù) > Windows編程 > 正文

              API文檔生成工具
              2021-09-17 11:54:59

              相信大家對API文檔生成工具并不陌生,也有很多的工具可以供大家選擇,小編就來給大家介紹一款。

              apidoc 是一款根據(jù)代碼上的注釋自動生成接口文檔的工具,它支持多種語言,以下JavaScript示例;

              注釋需要按照 apidoc 官網(wǎng)注釋規(guī)則;

              1.全局安裝 apidoc

              npm install apidoc -g 

              2.寫注釋?

              以下是寫得比較完整的一個注釋

              /** * @apiDefine apiSuccess 成功統(tǒng)一返回參數(shù) * @apiSuccess {String} code code * @apiSuccess {String} msg msg * @apiSuccess {Object} data config data * */
              /**
                   * @api {get} /config config(接口名稱)
                   * @apiGroup api
                   * @apiName getConfig(該字段不影響文檔顯示)
                   * @apiDescription (接口描述)2.9.3起新config接口
                   * @apiVersion 2.2.2(接口版本)
                   *
                   * @apiHeader {String} system 系統(tǒng)
                   * @apiHeader {String} version 版本號
                   *
                   * @apiHeaderExample {json} Header-Example:
                   *     {
                   *       "system": "ios",
                   *       "version": "2.2.2"
                   *     }
                   *
                   * @apiUse apiSuccess
                   *
                   * @apiSuccessExample {json} Success-Response:
                   *     HTTP/1.1 200 OK
                   *     {
                   *        "code": 0,
                   *        "msg": "",
                   *        "data": {
                   *          "id": 111,
                   *          "system": "ios",
                   *          "version": "2.2.2",
                   *          "status": "0"
                   *        }
                   *      }
                   *
                   * */

              3.添加配置文件 apidoc.json 文件

              {
                "name": "接口名稱",  "title":"文檔標(biāo)題"  "version": "2.2.2",
                "description": "文檔描述",
                "url" : "http://qa.api.test.com/",      // api路徑的前綴
                "sampleUrl": "http://qa.api.test.com/", // 如果設(shè)置了此選項(xiàng),則將顯示用于測試api方法(發(fā)送請求)的表單。
                "template": {
                  "withCompare": true,
                  "withGenerator": true
                }
              }

              4.輸入命令,生成文檔

              // apidoc -i 指定讀取源文件的目錄 -o 指定輸出文檔的目錄
              apidoc -i src/ -o apidoc/

              根據(jù)我命令,在項(xiàng)目里會生成 apidoc 文件夾,該文件夾下 index.html 就是接口文檔;

              5.(本步驟可自選) 在 package.json 文件設(shè)置 scripts,這樣就不用再記命令了,運(yùn)行 npm run apidoc 文檔生成;

              apidoc 的 html 文件轉(zhuǎn) markdown 文件 -- apidoc-markdown

              apidoc-markdown 是一個根據(jù)apidoc輸出文件直接生成markdown文件的工具。

              1.全局安裝

              npm install  apidoc-markdown -g

              2.運(yùn)行命令

              // apidoc-markdown -p apidoc 文件夾路徑 -o md文件生成路徑 -t 使用模板路徑
              apidoc-markdown -p public/apidoc -o public/doc_markdown.md -t public/templates/default_cn.md

              以上沒有指定md的模板,默認(rèn)使用其自帶的md模板文件,對于 apidoc 中 api_data.json 文件的有些字段無法識別,最終生成的md文件不完整;

              需要自行使用 EJS模板文件,然鵝我沒找到現(xiàn)成的支持 apidoc 轉(zhuǎn) md 的模板文件,所以就把默認(rèn)的模板文件稍微修改了一下;

              我在用默認(rèn)的模板文件轉(zhuǎn) md 時(shí)遇到了 可選 參數(shù)轉(zhuǎn)換問題,具體體現(xiàn)如下:

              轉(zhuǎn)后的 md 文件顯示:

              API文檔生成工具_(dá)Java開發(fā)

              apidoc api_data.json 文件 :

              API文檔生成工具_(dá)Java開發(fā)_02

              apidoc-markdown 默認(rèn)模板文件 修改前:

              ### Headers
              | Name    | Type      | Description                          |
              |---------|-----------|--------------------------------------|
              <% sub.header.fields.Header.forEach(header => { -%>
              | <%- header.field %> | <%- header.type ? ``${header.type}`` : '' %> | <%- header.optional ? '**optional**' : '' %><%- header.description %> |
              <% }) // foreach parameter -%>
              <% } // if parameters -%>
              <% if (sub.header && sub.header.examples && sub.header.examples.length) { -%>

              apidoc-markdown 默認(rèn)模板文件 修改后:

              ### Headers
              | Name    | Type      | Optional  | Description                          |
              |---------|-----------|-----------|--------------------------------------|
              <% sub.header.fields.Header.forEach(header => { -%>
              | <%- header.field %> | <%- header.type ? ``${header.type}`` : '' %> | <%- header.optional ? '可選' : '' %> | <%- header.description %> |
              <% }) // foreach parameter -%>
              <% } // if parameters -%>
              <% if (sub.header && sub.header.examples && sub.header.examples.length) { -%>

              修改后 md文件:

              API文檔生成工具_(dá)Java開發(fā)_03

              本文摘自 :https://blog.51cto.com/u

              開通會員,享受整站包年服務(wù)立即開通 >