api自動生成在線文檔(java直接生成api文檔工具

      網友投稿 812 2023-01-01

      本篇文章給大家談談api自動生成在線文檔,以及java直接生成api文檔工具對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 今天給各位分享api自動生成在線文檔的知識,其中也會對java直接生成api文檔工具進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!

      本文目錄一覽:

      如何使 WebAPI 自動生成漂亮又實用在線API文檔

      1.1 SwaggerUI
      SwaggerUI 是一個簡單的Restful API 測試和文檔工具。簡單、漂亮、易用(官方demo)。通過讀取JSON 配置顯示API. 項目本身僅僅也只依賴一些 html,css.js靜態文件. 你可以幾乎放在任何Web容器上使用。
      1.2 Swashbuckle
      Swashbuckle 是.NET類庫,可以將WebAPI所有開放的控制器方法生成對應SwaggerUI的JSON配置。再通過SwaggerUI 顯示出來。類庫中已經包含SwaggerUI 。所以不需要額外安裝。
      2.快速開始
      創建項目 OnlineAPI來封裝百度音樂服務(示例下載) ,通過API可以搜索、獲取音樂的信息和播放連接。
      我盡量刪除一些我們demo中不會用到的一些文件,使其看上去比較簡潔。
      WebAPI 安裝 Swashbuckle
      Install-Package Swashbuckle
      代碼注釋生成文檔說明。
      Swashbuckle 是通過生成的XML文件來讀取注釋的,生成 SwaggerUI,JSON 配置中的說明的。
      安裝時會在項目目錄 App_Start 文件夾下生成一個 SwaggerConfig.cs 配置文件,用于配置 SwaggerUI 相關展示行為的。如圖:
      將配置文件大概99行注釋去掉并修改為
      c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name));
      并在當前類中添加一個方法
      /// <summary
      /// </summary
      /// <param name="name"</param
      /// <returns</returns
      protected static string GetXmlCommentsPath(string name)
      {
      return string.Format(@"{0}\bin\{1}.XML", AppDomain.CurrentDomain.BaseDirectory, name);
      }
      緊接著你在此Web項目屬性生成選卡中勾選 “XML 文檔文件”,編譯過程中生成類庫的注釋文件
      添加百度音樂 3個API
      訪問 lt;youhost/swagger/ui/index,最終顯示效果
      我們通過API 測試API 是否成功運行
      3.添加自定義HTTP Header
      在開發移動端 API時常常需要驗證權限,驗證參數放在Http請求頭中是再好不過了。WebAPI配合過濾器驗證權限即可
      首先我們需要創建一個 IOperationFilter 接口的類。IOperationFilter
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Web.Http;
      using System.Web.Http.Description;
      using System.Web.Http.Filters;
      using Swashbuckle.Swagger;
      namespace OnlineAPI.Utility
      {
      public class HttpHeaderFilter : IOperationFilter
      {
      public void Apply(Operation operation, SchemaRegistry
      schemaRegistry, ApiDescription apiDescription)
      {
      if (operation.parameters == null) operation.parameters = new
      List<Parameter();
      var filterPipeline =
      apiDescription.ActionDescriptor.GetFilterPipeline();
      //判斷是否添加權限過濾器
      var isAuthorized = filterPipeline.Select(filterInfo =
      filterInfo.Instance).Any(filter = filter is IAuthorizationFilter);
      //判斷是否允許匿名方法
      var allowAnonymous =
      apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute().Any();
      if (isAuthorized !allowAnonymous)
      {
      operation.parameters.Add(new Parameter
      {
      name = "access-key",
      @in = "header",
      description = "用戶訪問Key",
      required = false,
      type = "string"
      });
      }
      }
      }
      }
      在 SwaggerConfig.cs 的 EnableSwagger 配置匿名方法類添加一行注冊代碼
      c.OperationFilter<HttpHeaderFilter();
      添加Web權限過濾器
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Net;
      using System.Net.Http;
      using System.Text;
      using System.Web;
      using System.Web.Http;
      using System.Web.Http.Controllers;
      using Newtonsoft.Json;
      namespace OnlineAPI.Utility
      {
      /// <summary
      ///
      /// </summary
      public class AccessKeyAttribute : AuthorizeAttribute
      {
      /// <summary
      /// 權限驗證
      /// </summary
      /// <param name="actionContext"</param
      /// <returns</returns
      protected override bool IsAuthorized(HttpActionContext actionContext)
      {
      var request = actionContext.Request;
      if (request.Headers.Contains("access-key"))
      {
      var accessKey = request.Headers.GetValues("access-key").SingleOrDefault();
      //TODO 驗證Key
      return accessKey == "123456789";
      }
      return false;
      }
      /// <summary
      /// 處理未授權的請求
      /// </summary
      /// <param name="actionContext"</param
      protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
      {
      var content = JsonConvert.SerializeObject(new {State = HttpStatusCode.Unauthorized});
      actionContext.Response = new HttpResponseMessage
      {
      Content = new StringContent(content, Encoding.UTF8, "application/json"),
      StatusCode = HttpStatusCode.Unauthorized
      };
      }
      }
      }
      在你想要的ApiController 或者是 Action 添加過濾器
      [AccessKey]
      最終顯示效果
      4.顯示上傳文件參數
      SwaggerUI 有上傳文件的功能和添加自定義HTTP Header 做法類似,只是我們通過特殊的設置來標示API具有上傳文件的功能
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Web.Http.Description;
      using Swashbuckle.Swagger;
      namespace OnlineAPI.Utility
      {
      /// <summary
      ///
      /// </summary
      public class UploadFilter : IOperationFilter
      {
      /// <summary
      /// 文件上傳
      /// </summary
      /// <param name="operation"</param
      /// <param name="schemaRegistry"</param
      /// <param name="apiDescription"</param
      public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
      {
      if (!string.IsNullOrWhiteSpace(operation.summary) operation.summary.Contains("upload"))
      {
      operation.consumes.Add("application/form-data");
      operation.parameters.Add(new Parameter
      {
      name = "file",
      @in = "formData",
      required = true,
      type = "file"
      });
      }
      }
      }
      }
      在 SwaggerConfig.cs 的 EnableSwagger 配置匿名方法類添加一行注冊代碼
      c.OperationFilter<UploadFilter();
      API 文檔展示效果

      如何使用WisdomTool REST Client自動化測試RESTful API并自動生成API文檔呢?

      Wisdom Tool REST Client可以自動化測試RESTful API,可以大幅度提高接口開發及測試的工作效率。

      方法/步驟

      在開源社區Github上下載REST Client工具,restclient-1.0.jar

      雙擊jar包,或者運行命令java -jar restclient-1.0.jar。這時會顯示出工具的主界面。

      在工具Request選項欄里添加RESTful API接口的請求信息,如URL,HTTP Method,Body,Header,Cookie等信息。

      點擊【Start】按鈕,執行HTTP請求。請求結束會自動跳轉至Response選項欄,得到完整的Response信息。

      選擇History選項欄,這里會記錄RESTful API的請求和響應等記錄信息。

      在Test菜單欄里運行【Start Test】,此時會自動執行列表里記錄的所有API。自動化測試這些API。

      API執行完畢工具會在默認瀏覽器里打開自動化測試報告。

      使用中遇到問題可以Email聯系作者,或者在Help菜單里點擊【Help Contents】選項,查看幫助文檔。

      如何使用javadoc命令生成api文檔,文檔注釋

      使用javadoc命令生成api文檔:

      創建java源文件包。java文件都是存放在一個package包中,這樣方便對java文件進行操作和區分,首先在磁盤上創建文件夾一樣的方式創建package包。

      創建java源文件。在包下,創建與文件名相同的java源文件,輸入一些文檔注釋,這些文檔注釋用于自動的api文件進行說明使用。

      進入java源文件目錄。通過cd等windows命令進入java源文件包所在的磁盤位置。

      查看javadoc命令使用說明。如果是第一次使用javadoc命令,可以通過javadoc -help命令查看javadoc使用說明。

      開始創建api文件。使用命令輸入javadoc -d javaapi -header 測試的API -doctitle 這是我的第一個文檔注釋 -version -author javadoc/Hello.java 進行文檔生成。-d:文件存儲位置; -head:文件頭部名稱; -version:顯示版本; -author:顯示作者; javadoc/Hello.java 處理的文件包以及java源文件。

      查看生成的api文件。創建成功之后,就會自動創建指定的文件夾下生成api文件。打開index.html就是api文件的入口。

      Python API文檔生成記錄

      我是一個程序員,文檔是個很頭疼的東東。一直在找一個對于自己來說好用一些的生成文檔的工具,前一陣找到了Markdown,相當不錯的寫作工具,最近一直在使用。最近公司要求生成內部API文檔,寫起來很麻煩,特別是生成word文檔,需要的各種格式調整,費時費力。我使用Markdown寫了一個版本,但是其他人都用word寫的,無法整合,于是我在網上不停的尋找,終于讓我找到了,Justmd + Markdown + Python + Mkdocs , 這個組合,簡直是無與倫比啊。

      簡單的說明一下:

      安裝完上述工具后就可以使用Markdown工具進行寫作了,根據需要可以寫多個Markdown文檔,統一寫完后,放在同一個目錄下面。

      然后在命令行中生成Mkdocs目錄

      上面是2個主題的效果圖。

      然后在瀏覽器中訪問 就可以看到相應的文檔了。

      基本介紹就到這里了,如果有任何問題,可以給我留言大家一起學習。

      后記:
      Mkdocs還可以生成靜態頁面,命令如下:

      生成 的靜態頁面在同目錄下:site文件夾

      如何生成RestFul Api文檔

      Web API文檔工具列表
      Swagger ——Swagger框架可以通過代碼生成漂亮的在線API,甚至可以提供運行示例。支持Scala、Java、Javascript、Ruby、PHP甚至 Actionscript 3。在線 Demo 。
      I/O Docs ——I/O Docs是一個用于RESTful Web APIs的交互式文檔系統。使用 JSON 模型根據資源、方法和參數定義 APIs。I/O Docs 將生成 JavaScript 客戶端接口,可通過這些接口來調用系統。服務器端基于 Node.js 開發。在線Demo
      apiary.io ——能夠快速啟動和運行文檔,包括GitHub集成和I/O驗證——更多建議可以前往Reddit查看上關于 Siyfion討論。
      Docco ——Docco是一個快速而隨意、hundred-line-long、迭代程序風格的文檔生成器。它會以HTML的方式顯示評論和代碼。
      Dexy ——非常靈活的一款文檔工具,支持任何語言編寫的API。
      Doxygen ——Doxgen可以從一套歸檔源文件開始,生成HTML格式的在線類瀏覽器,或離線的LATEX、RTF參考手冊。對于未歸檔的源文件,也可以通過配置Doxygen來提取代碼結構。 更多建議可以前往Reddi上查看 gkumar007相關討論。
      TurnAPI ——是一款付費的文檔API工具。里面包含了智能WIKI編輯器、基于標準的Markdown、文檔分支、還可以與Git、SVN、Mercurial同步、整潔的主題、友好的界面。
      以上僅是作者在實踐中發現的一些很好的工具,如果你有更好的建議或工具推薦,歡迎與我們分享。

      如何生成api文檔,初學者請不吝賜教

      (1) 首先要理解,什么是Android,如果讀者通過本書的第一章學習初步了解了 Android,若想進一步學習和了解,建議仔細閱讀這個文檔中的 “What is Android”。
      (2) 閱讀 “Anatomy of an Android Application” 能夠知道一個 Android 應用中到底都有些什么東西,如果你讀完這個文檔還不是很清楚的話也沒有關系,本書第6章會詳細介紹 Android 的組成部分和各個部分所扮演的角色。
      (3) 接著可以讀一下,“Development Tools”一節的內容,其中會介紹 SDK 中包含的一些工具及工具的作用,但是其介紹的比較簡單,我們后面會詳細講解各個工具的作用。 關于api自動生成在線文檔和java直接生成api文檔工具的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。 api自動生成在線文檔的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于java直接生成api文檔工具、api自動生成在線文檔的信息別忘了在本站進行查找喔。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:辦公表格軟件排行榜(辦公表格那個軟件好)
      下一篇:最沒用的項目管理軟件是(項目管理需要的軟件)
      相關文章
      在线a亚洲v天堂网2018| 亚洲成a人片77777老司机| 亚洲欧洲日产v特级毛片| 亚洲乱色熟女一区二区三区丝袜| 亚洲乱亚洲乱妇无码| 亚洲国产综合在线| 亚洲黄色三级视频| 91情国产l精品国产亚洲区| 午夜影视日本亚洲欧洲精品一区 | 亚洲欧洲日产国码无码网站| 亚洲午夜日韩高清一区| 亚洲日韩中文在线精品第一| 亚洲AV无码乱码精品国产| 国产精品亚洲一区二区三区| 久久亚洲精品无码网站| 人人狠狠综合久久亚洲| 亚洲AV永久无码天堂影院| 亚洲AV无码精品国产成人| www亚洲精品久久久乳| 亚洲风情亚Aⅴ在线发布| 狠狠综合亚洲综合亚洲色| 国产一区二区三区亚洲综合| heyzo亚洲精品日韩| 亚洲中文字幕无码爆乳av中文| 亚洲?v无码国产在丝袜线观看| 亚洲AV无码乱码在线观看性色扶| 亚洲VA综合VA国产产VA中| 亚洲区小说区图片区| 中文字幕在线亚洲精品| 国产亚洲综合成人91精品| 久久青青草原亚洲AV无码麻豆| 亚洲一二成人精品区| 亚洲欧洲日本精品| 亚洲一级毛片在线播放| 亚洲字幕AV一区二区三区四区| 亚洲av色香蕉一区二区三区| 亚洲av麻豆aⅴ无码电影| 日韩精品亚洲aⅴ在线影院| 久久亚洲高清观看| 亚洲综合小说久久另类区| jlzzjlzz亚洲jzjzjz|