0
我在我們的項目中定義了一個REST元素,該元素包含具有原始int &長度的屬性。我正在使用Jersey 2.17 在測試過程中,當我嘗試傳遞一個「」字符串時,REST客戶端沒有報告任何驗證錯誤,但在剩餘資源中,我將該原語的值作爲默認值0。非常奇怪,因爲在這種情況下不應接受空字符串。如何通過驗證錯誤使請求失敗。jackson json解析器接受int原語的空單引號
My JSON request:
JSONObject employee = new JSONObject("{name : James}");
rateLimiter.put("age", "");
Response :
POST -><http://134.141.206.113:8080/Employee >
data: {"name":"James","age":""}
Status :201 output: {
"name" : "James",
"age" : 0
}
斯里蘭卡感謝,但你的回答非常模糊,我已經提到我使用球衣2.17。我正在尋找帶有JSON映射器或可能是自定義反序列化器的任何配置的指針。 – Nawaz
@Nawaz我已經更新了可以幫助您完成必修項目的註釋。希望這可以幫助 – Srikanta
我感謝幫助,但我想要失敗的請求。我需要客戶端來驗證錯誤,您提供的選項只會排除它們。對於我的用例,一些實體中的原始字段是可選的,這意味着用戶可以跳過這個,但是如果他給出的值不應該是空字符串。我有很多實體,我正在尋找解決方案來做一次,而不是用註釋標記每個屬性。我試過自定義序列化器/反序列化器,沒有運氣,我會添加源代碼。我想知道這是否是唯一的選擇。 – Nawaz