日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过Swashbukle给DotNet Core Web API 增加自动文档功能

發布時間:2023/12/4 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过Swashbukle给DotNet Core Web API 增加自动文档功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  DotNet Core Web API給開發者提供了一個很好的框架來開發Restful的API。那么這些API接口該如何管理起來呢?Swagger是一個很好的選擇,Swagger不需要開發者額外去維護接口文檔,只要開發者的接口遵循Restful的規范,Swagger就會根據API接口生成文檔。?

  對于前后端分離的開發模式,前后端開發者一般會先定義好接口,然后各自獨立開發,后端開發者可以使用Swagger很快的生成沒有業務邏輯的接口文檔,接口返回的是Mock Data,這樣前端開發人員就可以更早的開始調用接口,只要關注Swagger的接口文檔是否有發生變化,盡早的發現錯誤,避免了前后端最后集成時,出現大問題。?

  后端開發者使用Swagger也可以很好的調試,Swagger提供了一個簡單的UI界面,可以模擬簡單的post,get,put 。功能沒有curl或者postman強大,但是優勢在于簡單快捷,只要在swagger文檔界面點點就可以。?

  這里要介紹的就是:Dotnet Core 2.0 下面的 Swashbukle.AspNetCore

  Github地址:?https://github.com/domaindrivendev/Swashbuckle.AspNetCore

  這篇文章的源碼:dotnet-core-sample?的 sample1中?  

  1.首先創建一個dotnet core web api 項目,通過命令行輸入

dotnet new webapi -name sample1

  ?2.?然后下載Swashbuckle AspNetCore

dotnet add package Swashbuckle.AspNetCore

?  在VS 2017下面,通過 工具 -> Nuget 包管理器 -> 程序包管理控制臺, 運行

Install-Package Swashbuckle.AspNetCore

?注意:這里運行的是Install-Package Swashbuckle.AspNetCore 不是Install-Package Swashbuckle

  3.在Startup.cs文件中,引入Swashbuckle?

using Swashbuckle.AspNetCore.Swagger;

  

  4.在Startup.cs文件中的ConfigureService方法中注冊Swagger Generator

? ? ? ?public void ConfigureServices(IServiceCollection services){services.AddMvc();services.AddSwaggerGen(config =>{config.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });});}

?

  5. 在Configure方法中添加Swagger的中間件?


? ? ? ?public void Configure(IApplicationBuilder app, IHostingEnvironment env){ ? ? ? ? ? ?if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseMvc();app.UseSwagger();}

?

  6. 最后執行一下dotnet run或者F5,就可以直接運行項目了

dotnet run

?

默認情況下,可以通過http://localhost:5000/swagger/ 訪問API接口文檔

?

?

注意:要自動生成文檔,對應Controller下的接口必須顯示的指定用那種Http請求方式,POST,GET,PUT,DELETE?

Swagger運行起來后,有時候需要針對項目進行一些簡單的配置:

除了前面提到的 new Info { Title = "My API", Version = "v1" },Swashbukle還可以配置其他信息,具體可以參見OpenAPI Specification.

config.SwaggerDoc("v1", ? ?new Info{Title = "My API - V1",Version = "v1",Description = "A sample API to demo Swashbuckle",TermsOfService = "Knock yourself out",Contact = new Contact{Name = "Joe Developer",Email = "joe.developer@tempuri.org"},License = new License{Name = "Apache 2.0",Url = "http://www.apache.org/licenses/LICENSE-2.0.html"}} )

最后,如果要配置多個swagger文檔,需要通知添加swagger generator和endpoint

config.SwaggerDoc("v2", new Info { Title = "My API - V2", Version = "v2" }); config.SwaggerEndpoint("/swagger/v2/swagger.json", "My API V2");


原文地址:http://www.cnblogs.com/unclechan/p/7508011.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的通过Swashbukle给DotNet Core Web API 增加自动文档功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。