第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

未調(diào)用 ASP.NET Core 操作篩選器

未調(diào)用 ASP.NET Core 操作篩選器

我有一個(gè) ASP.NET Core API (.Net Core 2.1),我使用這篇文章實(shí)現(xiàn)了一個(gè)動(dòng)作過(guò)濾器https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/filters?view=aspnetcore-2.1#action-filters在我的模型中,我使用數(shù)據(jù)注釋來(lái)驗(yàn)證模型,并為控制器中的操作添加了 ValidateModel 屬性。    [HttpPost("CreateShipment")]    [ValidateModel]    public IActionResult CreateShipment([FromBody] CreateShipmentRequest request)    {         if (ModelState.IsValid)         {            //Do something         }         return Ok();    }我使用 Postman 對(duì)此進(jìn)行了測(cè)試,并且僅當(dāng)模型有效時(shí)才會(huì)調(diào)用我的動(dòng)作過(guò)濾器。如果我的請(qǐng)求缺少必填字段或某些值超出范圍,則不會(huì)調(diào)用操作篩選器。相反,我收到一個(gè) 400 錯(cuò)誤請(qǐng)求,響應(yīng)中包含模型狀態(tài)。我實(shí)現(xiàn)了動(dòng)作過(guò)濾器,因?yàn)槲蚁胱远x我的模型驗(yàn)證錯(cuò)誤。我的理解是動(dòng)作過(guò)濾器在模型綁定時(shí)被調(diào)用。有人可以幫我弄清楚為什么會(huì)發(fā)生這種情況以及如何讓動(dòng)作過(guò)濾器工作嗎?更新:我在發(fā)布問(wèn)題 2 秒后找到了解決方案,下面發(fā)布的鏈接 @Silvermind 也是很好的信息。我將以下行添加到我的 Startup.csservices.Configure<ApiBehaviorOptions>(options =>{     options.SuppressModelStateInvalidFilter = true;});它在 Microsoft 網(wǎng)站上有詳細(xì)記錄。 https://learn.microsoft.com/en-us/aspnet/core/web-api/index?view=aspnetcore-2.1#automatic-http-400-responses
查看完整描述

2 回答

?
慕無(wú)忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

將以下行添加到 Startup.cs,ConfigureServices() 方法解決了該問(wèn)題。事實(shí)證明,.Net Core 默認(rèn)啟用了自動(dòng) 400 響應(yīng)。如果要添加自定義操作過(guò)濾器,則需要在啟動(dòng)時(shí)設(shè)置這些選項(xiàng)。


services.Configure<ApiBehaviorOptions>(options =>

{

      options.SuppressModelStateInvalidFilter = true;

});

它在 Microsoft 網(wǎng)站上有詳細(xì)記錄:


https://learn.microsoft.com/en-us/aspnet/core/web-api/index?view=aspnetcore-2.1#automatic-http-400-responses


查看完整回答
反對(duì) 回復(fù) 2022-10-15
?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊

[ApiController] 屬性自動(dòng)執(zhí)行模型驗(yàn)證并觸發(fā) 404 的 HTTP 響應(yīng),在 .Net Core 3.0 中,您可以鏈接到新的 AddControllers() 以抑制此功能:


services.AddControllers()

                .ConfigureApiBehaviorOptions(options =>

                {

                    options.SuppressModelStateInvalidFilter = true;

                });


查看完整回答
反對(duì) 回復(fù) 2022-10-15
  • 2 回答
  • 0 關(guān)注
  • 110 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)