Asp.NetCoreSwagger如何使用并帶域接口處理-創新互聯

這篇文章主要介紹了Asp.Net Core Swagger如何使用并帶域接口處理,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創新互聯公司是一家專業提供趙縣企業網站建設,專注與網站建設、做網站H5頁面制作、小程序制作等業務。10年已為趙縣眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。

Asp.Net的WebApi中使用Swagger作為說明和測試的頁面是非常不錯的,比起WebApiTestClient來至少在界面上的很大的提升。但是使用Swagger時如果只是一般的控制器直接放到Controller下就可以了,而如果因不同的業務需求而需要分類或者有同名的類名時時則沒辦法很好的處理。

因為業務需求需要創建域,但是Swagger并未將域添加到接口。所以需要加上以下操作才行。

安裝Swagger方法:

為了大家多看微軟官方文檔、就直接引用Swagger安裝及使用方法。以下是微軟官方文檔。

https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-2.1&tabs=visual-studio

增加域接口顯示方法:

using Microsoft.AspNetCore.Mvc.ApiExplorer;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace System.Web.Http.Description
{
  /// <summary>
  /// API描述器擴展
  /// </summary>
  public static class ApiDescriptionExtension
  {
    /// <summary>
    /// 獲取區域名稱
    /// </summary>
    /// <param name="description"></param>
    /// <returns></returns>
    public static List<string> GetAreaName(this ApiDescription description)
    {
      string areaName = description.ActionDescriptor.RouteValues["area"];
      string controlName = description.ActionDescriptor.RouteValues["controller"];
      List<string> areaList = new List<string>();
      areaList.Add(controlName);
      if (!string.IsNullOrEmpty(areaName))
      {
        description.RelativePath = $"{areaName}/{controlName}/{description.RelativePath}";
      } 
      return areaList;
    }
  }
}

通過接口描述擴展獲取區域及相關信息進行改寫擴展。

使用說明:

services.AddSwaggerGen(c =>
      {
        c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info
        {
          Version = "v1.0.0",
          Title = " API",
          Description = description,
          TermsOfService = "你的公司",
          Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "Blog.Core", Email = "Blog.Core@xxx.com", Url = "https://www.jianshu.com/u/94102b59cc2a" }
          
        });
        //使用域描述
        c.TagActionsBy(apiDesc => apiDesc.GetAreaName());

        var basePath = PlatformServices.Default.Application.ApplicationBasePath;
        var xmlPath = Path.Combine(basePath, xmlName);//這個就是剛剛配置的xml文件名
        c.IncludeXmlComments(xmlPath, true);//默認的第二個參數是false,這個是controller的注釋,記得修改
      });

紅色部分加入代碼即可。

結果展示:

Asp.Net Core Swagger如何使用并帶域接口處理

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Asp.Net Core Swagger如何使用并帶域接口處理”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯網站建設公司,,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!


網頁名稱:Asp.NetCoreSwagger如何使用并帶域接口處理-創新互聯
瀏覽地址:http://m.kartarina.com/article10/ccgpgo.html

成都網站建設公司_創新互聯,為您提供自適應網站服務器托管網站導航網站制作全網營銷推廣網站內鏈

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計
主站蜘蛛池模板: 人妻无码人妻有码中文字幕| 在线高清无码A.| 熟妇人妻中文字幕无码老熟妇| 无码人妻精品一区二区三18禁| 亚洲VA成无码人在线观看天堂| 亚洲欧洲免费无码| 天堂无码久久综合东京热| 人妻丰满AV无码久久不卡| heyzo专区无码综合| 亚洲性无码av在线| 亚洲日韩激情无码一区| 精品久久久无码人妻中文字幕豆芽| 免费a级毛片无码a∨免费软件| 无码毛片内射白浆视频| 无码人妻精品一区二区三18禁| 久久精品?ⅴ无码中文字幕| 久久久久久久亚洲Av无码| 免费无码H肉动漫在线观看麻豆| 极品无码国模国产在线观看 | 久久青青草原亚洲AV无码麻豆| 亚洲av午夜国产精品无码中文字| 日韩人妻精品无码一区二区三区 | 麻豆亚洲AV永久无码精品久久| yy111111少妇无码影院| 国产成年无码久久久久下载| 久久精品aⅴ无码中文字字幕不卡| 国产50部艳色禁片无码| 一本一道av中文字幕无码| 亚洲人成无码www久久久| 无码国产精品久久一区免费| 亚洲最大中文字幕无码网站| 亚洲美免无码中文字幕在线| 久久精品国产亚洲AV无码娇色| 久久久无码精品亚洲日韩蜜桃| 国产精品无码成人午夜电影| 国产午夜无码精品免费看| 亚洲av无码成h人动漫无遮挡 | 国产热の有码热の无码视频| 国产精品无码久久四虎| 激情射精爆插热吻无码视频 | 亚洲精品无码av中文字幕|