我創建了一個類似于
[HttpPost]
public ActionResult<MyDTO> Post([FromBody] MyDTO myDTO)
{
// do something with myDTO...
Ok();
}
和 MyDTO:
namespace MyNamespace.DTO
{
public class MyDTO
{
[Required]
public int someNumber { get; set; }
[Required]
public bool someBool { get; set; }
[Required]
public DateTimeOffset someDate { get; set; }
}
}
當我發送帶有未定義的 JSON 正文的帖子時,它不會回傳 400 或某種例外,而是為它們分配默認(假)值。
當我定義另一個 DTO 類的 List 時,它確實回傳了 400 代碼。
當未提供某些必需值而不是僅使用默認值時,如何使 API 回傳錯誤?
uj5u.com熱心網友回復:
您必須手動控制它。沒有別的辦法。
嘗試類似
[HttpPost]
public ActionResult<MyDTO> Post([FromBody] MyDTO myDTO)
{
if(YourComprobation(myDto)){
BadRequest();
}
Ok();
}
uj5u.com熱心網友回復:
在這里找到了答案。
我只需要讓所有欄位都可以為空并有一個
if (!ModelState.IsValid)
// return 400
在控制器中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/366980.html
