NetCore?配置Swagger的詳細(xì)代碼
1.添加Nuget
install-package Swashbuckle.AspNetCore -project XXX -version 6.4.0
2.添加靜態(tài)類擴(kuò)展方法
2.1.生成項(xiàng)目xml:選中項(xiàng)目 / 右鍵 / 屬性 / 生成 / 輸出 / 選中xml文檔文件
2.2.system_v1:必須唯一不重復(fù),且【options.SwaggerDoc("system_v1"】必須與【options.SwaggerEndpoint("/swagger/system_v1/】一致,不然會(huì)異?!綟ailed to load API definition; Fetch error: response status is 404 /swagger/system_v1/swagger.json】
/// <summary>
/// Swagger 靜態(tài)類
/// </summary>
public static class SwaggerExtend
{
/// <summary>
/// 添加服務(wù): swagger
/// </summary>
/// <param name="services"></param>
/// <returns></returns>
public static void AddCustSwagger(this IServiceCollection services)
{
var version = "V1.0";
var apiName = "XXX系統(tǒng)";
services.AddSwaggerGen(options =>
{
options.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
options.SwaggerDoc("system_v1", new OpenApiInfo
{
Version = version,
Title = $"{apiName} API",
Description = $"{apiName} {version} 接口服務(wù)"
});
// 獲取應(yīng)用程序所在目錄
var basePath = Path.GetDirectoryName(typeof(SwaggerExtend).Assembly.Location);
var xmlPath = Path.Combine(basePath, "ProjectName.xml");
// swagger界面默認(rèn)只顯示 方法&字段 注釋,不顯示 控制器注釋
// 第二個(gè)參數(shù)為true, 則是controller的注釋
//options.IncludeXmlComments(xmlPath);
options.IncludeXmlComments(xmlPath, true);
});
}
/// <summary>
/// 添加中間件: swagger
/// </summary>
/// <param name="app"></param>
public static void UseCustSwagger(this IApplicationBuilder app)
{
app.UseSwagger();
app.UseSwaggerUI(options =>
{
options.SwaggerEndpoint("/swagger/system_v1/swagger.json", "系統(tǒng)API");
// 默認(rèn)路徑為:/swagger/index.html
// 路由前綴 - 設(shè)置為空,可直接跳轉(zhuǎn)到swagger頁(yè)面:/index.html
// api測(cè)試可設(shè)置為空,部署時(shí)容易與前端路由沖突
options.RoutePrefix = string.Empty;
});
}
}3.StartUp注冊(cè)服務(wù),添加中間件
public void ConfigureServices(IServiceCollection services)
{
services.AddCustSwagger();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseCustSwagger();
}到此這篇關(guān)于NetCore 配置Swagger的的文章就介紹到這了,更多相關(guān)NetCore 配置Swagger內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SignalR Self Host+MVC等多端消息推送服務(wù)(三)
這篇文章主要為大家詳細(xì)介紹了SignalR Self Host+MVC等多端消息推送服務(wù)的第三篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
解析WPF綁定層次結(jié)構(gòu)數(shù)據(jù)的應(yīng)用詳解
本文講述WPF中單層次數(shù)據(jù)和多層次數(shù)據(jù)的綁定方法,主要闡述數(shù)據(jù)綁定的顯示層面,其中涉及了ListBox和Treeview控件。并說明它們之間的差異2013-05-05
.Net語(yǔ)言Smobiler開發(fā)之如何在手機(jī)上實(shí)現(xiàn)表單設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了.Net語(yǔ)言APP開發(fā)平臺(tái),如何在手機(jī)上實(shí)現(xiàn)表單設(shè)計(jì)(Smobiler),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
ASP.NET(C#)中操作SQLite數(shù)據(jù)庫(kù)實(shí)例
最近項(xiàng)目中有使用到SQLite數(shù)據(jù)庫(kù),于是查找資料,編寫了一個(gè)ASP.NET基于C#語(yǔ)言的SQLite數(shù)據(jù)庫(kù)操作實(shí)例.大家看代碼就可以看懂了,和以往使用ADO.NET操作SQL數(shù)據(jù)庫(kù)類似.2009-12-12

