假設驗證碼:ASP.NET核心 - 如何認識反序列化已經通過中間件失敗
public class Test
{
public DateTime Date { get; set; }
public string Title { get; set; }
}
[HttpPut, Route("test")]
public IActionResult test([FromBody]Test Data)
{
....
}
如果用戶提供在體內無效JSON,數據將是無效的。
有沒有一種方法可以在代碼執行之前捕捉到它,所以我不必在每個API方法上測試null值?
我一直在想它可能作爲一箇中間件可行,但我沒有經驗,所以我不確定。
您應驗證模型數據。如果屬性是必需的,你應該標記它們,然後驗證過程('ModelState.IsValid')會告訴你它是否正確。 – poke
但這意味着我需要爲每個調用添加一個「if(ModelState.IsValid)...」;我試圖找到是否可以在管道中捕獲並從單個位置返回一個通用錯誤 – Thomas