我有使用ASP NET核心(不老的Web API或MVC)一個簡單的動作:如何在MVC Core中處理空模型驗證?
[HttpPost]
public async Task<SomeResponse> Something([FromBody] SomeRequest request)
{
// request is null here when the POST body is empty
}
當我發佈一個空的身體request
爲空。如果有任何模型驗證錯誤,我有一個全局操作篩選器,可返回通用400響應。
public class ValidateModelBindingAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
if (!context.ModelState.IsValid)
{
// 400 response here.
}
}
}
我想的ModelState是無效的,如果身體是空的,這樣的驗證過濾器會試圖執行一個空請求對象的動作前,用400響應。我試圖給request
參數添加一個[Required]
屬性,但不起作用。那裏有另外的解決方案嗎?
你可以發佈請求類代碼嗎? – Krishna