久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

NetCore 配置Swagger的詳細代碼

瀏覽:214日期:2022-06-08 17:46:15
目錄
  • 1.添加Nuget
  • 2.添加靜態類擴展方法
  • 3.StartUp注冊服務,添加中間件

1.添加Nuget

install-package Swashbuckle.AspNetCore -project XXX -version 6.4.0

2.添加靜態類擴展方法

2.1.生成項目xml:選中項目 / 右鍵 / 屬性 / 生成 / 輸出 / 選中xml文檔文件

2.2.system_v1:必須唯一不重復,且【options.SwaggerDoc("system_v1"】必須與【options.SwaggerEndpoint("/swagger/system_v1/】一致,不然會異常【Failed to load API definition; Fetch error: response status is 404 /swagger/system_v1/swagger.json】

/// <summary>
    /// Swagger 靜態類
    /// </summary>
    public static class SwaggerExtend
    {
/// <summary>
/// 添加服務: swagger
/// </summary>
/// <param name="services"></param>
/// <returns></returns>
public static void AddCustSwagger(this IServiceCollection services)
{
    var version = "V1.0";
    var apiName = "XXX系統";
    services.AddSwaggerGen(options =>
    {
options.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());

options.SwaggerDoc("system_v1", new OpenApiInfo
{
    Version = version,
    Title = $"{apiName} API",
    Description = $"{apiName} {version} 接口服務"
});

//  獲取應用程序所在目錄
var basePath = Path.GetDirectoryName(typeof(SwaggerExtend).Assembly.Location);
var xmlPath = Path.Combine(basePath, "ProjectName.xml");
//  swagger界面默認只顯示 方法&字段 注釋,不顯示 控制器注釋
//  第二個參數為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", "系統API");
//  默認路徑為:/swagger/index.html
//  路由前綴 - 設置為空,可直接跳轉到swagger頁面:/index.html
//  api測試可設置為空,部署時容易與前端路由沖突
options.RoutePrefix = string.Empty;
    });
}
    }

3.StartUp注冊服務,添加中間件

public void ConfigureServices(IServiceCollection services)
{
    services.AddCustSwagger();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseCustSwagger();
}

到此這篇關于NetCore 配置Swagger的的文章就介紹到這了,更多相關NetCore 配置Swagger內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: ASP.NET
主站蜘蛛池模板: 泽普县| 兴业县| 民乐县| 来凤县| 镇原县| 黑山县| 利辛县| 绥化市| 英超| 若羌县| 松潘县| 汉寿县| 平邑县| 同江市| 鸡东县| 卢龙县| 浦北县| 泰州市| 金堂县| 如东县| 开封市| 民和| 滨海县| 武夷山市| 宣威市| 巨鹿县| 铜陵市| 双牌县| 仁化县| 牟定县| 镇巴县| 勐海县| 平远县| 长寿区| 紫金县| 达尔| 响水县| 楚雄市| 武强县| 石渠县| 无为县|