Swagger可以讓我們更多的關注業務和代碼實作,而不是天天改接口文檔!!!
(目前.net5中已經将該元件預設內建到webapi中,項目建立後作為首頁展現)
1、Nuget引用:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SO3YjM2QDOwYTLxgjN0UDOxITM3EDNwAjMwITLzYTO0QzLcRDMwIDMy8CXzYTO0QzLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
1 //注冊Swagger
2 services.AddSwaggerGen(c =>
3 {
4 c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
5 {
6 Version = "v1",
7 Title = "api文檔",
8 Description = "這是一個基于.net core的web API",
9 Contact = new Microsoft.OpenApi.Models.OpenApiContact
10 {
11 Name = "這裡是姓名",
12 Email = "這裡是郵箱",
13 Url = new Uri("http://www.qufuyun.com")
14 },
15 License = new Microsoft.OpenApi.Models.OpenApiLicense
16 {
17 Name = "這裡是許可證名字"
18 }
19 });
20 // 為 Swagger JSON and UI設定xml文檔注釋路徑-----
21 // 擷取應用程式所在目錄(絕對,不受工作目錄影響,建議采用此方法擷取路徑)
22 var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
23 var xmlPath = Path.Combine(basePath, "ProjectTracker.NetCore.WebUI.xml");
24 c.IncludeXmlComments(xmlPath);
25 });
這裡添加了引用xml文檔,可以更友好的展現api,需要設定一下項目屬性:
(添加取消警告代碼是因為勾選了xml文檔後若不顯示添加說明會一直提示)
3、設定請求管道Configure:
1 // 啟用Swagger中間件
2 app.UseSwagger();
3 // 配置SwaggerUI
4 app.UseSwaggerUI(c =>
5 {
6 c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
7 });
4、配置已經完成了,可以浏覽效果:
Github(Swagger):https://github.com/domaindrivendev/Swashbuckle.AspNetCore
微軟文檔也有簡單案例:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio
作者:屈魯奇
出處:https://www.cnblogs.com/quluqi
聯系:[email protected] QQ:496195435
本文版權歸作者和部落格園共有,歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接。如有問題或建議,請多多賜教,非常感謝。