我有一個這樣的簡單記錄:
public record Filter
{
public int Id { get; init; }
}
該屬性明確不是非空的。Filter我希望框架在沒有 ID 的情況下初始化型別時拋出例外。我怎么做?
現在它只是將“0”作為默認值,我不知道初始化損壞。
uj5u.com熱心網友回復:
使用建構式:
public record Filter(int Id);
現在,如果沒有明確給出 Id,您將收到編譯器錯誤。無論如何,這比運行時例外更可取。
uj5u.com熱心網友回復:
我搜索了一種與[ApiController]. 因此,如果驗證是針對 REST 的,則接受的答案將不起作用,正確的方法是:
public record Filter
{
[Required]
public int? Id { get; init; }
}
(請注意,int 必須可以為空,否則框架會將其默認為 0,并且永遠不會完成所需的驗證。)
通過該設定,如果缺少必填欄位,端點將自動回傳 HTTP 代碼 400。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/430375.html
