溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

ASP.NET Core的swagger UI中缺少authToken字段怎么辦

發(fā)布時(shí)間:2021-12-06 14:33:18 來(lái)源:億速云 閱讀:274 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“ASP.NET Core的swagger UI中缺少authToken字段怎么辦”,在日常操作中,相信很多人在ASP.NET Core的swagger UI中缺少authToken字段怎么辦問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”ASP.NET Core的swagger UI中缺少authToken字段怎么辦”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

Swagger 是個(gè)好東西,對(duì)于前后端分離的網(wǎng)站來(lái)說(shuō),不僅是提高前后端開(kāi)發(fā)人員溝通效率的利器,也大大方便了后端人員測(cè)試 API。有時(shí)候,API 中可能需要在 Header 中設(shè)置認(rèn)證參數(shù),比如 authToken,這樣的功能我們通常是使用 ActionFilter 實(shí)現(xiàn)的,這就會(huì)導(dǎo)致 swagger UI 中缺少 authToken 字段,下面就來(lái)介紹解決這個(gè)問(wèn)題的辦法。

創(chuàng)建一個(gè)過(guò)濾器類(lèi),內(nèi)容如下:

/// <summary>
/// this class is for swagger to generate AuthToken Header filed on swagger UI
/// </summary>
public class AddAuthTokenHeaderParameter : IOperationFilter{  

 public void Apply(Operation operation, OperationFilterContext context)    
{        

      if (operation.Parameters == null)            operation.Parameters = new List<IParameter>();    
      var attrs = context.ApiDescription.GetActionAttributes();  
      foreach (var attr in attrs)        {            // 如果 Attribute 是我們自定義的驗(yàn)證過(guò)濾器            if (attr.GetType() == typeof(Auth))            {                operation.Parameters.Add(new NonBodyParameter()                {                    Name = "AuthToken",                    In = "header",                    Type = "string",                    Required = false                });            }        }    } }

然后在配置 Swagger 的地方,做一些修改:

services.AddSwaggerGen(c =>
            {           
      c.SingleApiVersion(new Info()                {            
                Version = "v1",          
                Title = "API 文檔",                
                Description = "系統(tǒng)的 API 文檔"                });          
       c.OperationFilter<AddAuthTokenHeaderParameter>(); // 手動(dòng)高亮            });

最后,dotnet run!

到此,關(guān)于“ASP.NET Core的swagger UI中缺少authToken字段怎么辦”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI