[英]How to validate fields of request body in SpringBoot controllers (customize Jackson)
SpringBoot控制器使用@RequestBody
作為bean類,例如它是一個帶有字段列表的類Basket。 其中一些字段是只讀的,我想在用戶嘗試發送更新請求時拋出異常。
我使用自定義@ReadOnly
注釋來標記類Basket的只讀字段。 我想以傑克遜構造對象籃子的方式自定義傑克遜 - 它應該用注釋分析bean並在傳入的JSON包含只讀字段時拋出異常。
請不要建議JSR-303 Bean驗證。
您可以編寫自定義反序列化程序,並可以使用以下代碼訪問注釋並編寫邏輯以引發異常。
for (Field f: Basket.class.getFields()) {
ReadOnly readOnly = f.getAnnotation(ReadOnly.class);
if (readOnly != null)
// your logic can go here.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.