簡體   English   中英

Spring MVC @RequestBody和部分對象/ json綁定

[英]Spring MVC @RequestBody and partial object/json binding

我有一個大的對象,可以通過幾個步驟進行更新。 我正面臨部分約束問題。 我的服務使用json,我不能使用@InitBinder和@RequestBody。 將這個對象切割成幾個小對象並不是一個好的解決方案,因為步驟之間有很多跨場驗證。

你有任何想法如何解決這個問題? 我正在尋找一個干凈的解決方案,例如:為給定的@RequestMapping注冊特定的對象映射器或類似的東西。 感謝幫助。

您應該能夠使用PATCH HTTP方法

它是您在需要部分更新時使用的首選方法,例如在您只想更新資源的幾個字段時

Spring MVC在版本3.2中添加了對它的支持,所以你可以做類似的事情

@RequestMapping(value="/patch", method=RequestMethod.PATCH, consumes=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String patch(@RequestBody Foo foo)    {
    return foo.toString();
}

並且在發送請求時,僅將要更新的屬性添加到PATCH請求中,將不會更新null或省略的屬性

在缺少更好的Spring MVC PATCH參考時,我將這個SO線程作為一個有趣的讀取Spring MVC PATCH方法進行鏈接:部分更新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM