2011-04-20 60 views
38

我已經實現了一個Spring RESTful Web服務。使用Jackson JSON進行對象映射。我有一個接受兩個參數的方法。Spring REST多個@RequestBody參數可能嗎?

public Person createPerson(
    @RequestBody UserContext userContext, 
    @RequestBody Person person) 

客戶端如何在多個JSON對象在主體中傳遞請求時構造一個請求?

這可能嗎?

- 斯里蘭卡

回答

48

我敢肯定,這將無法正常工作。可能有一個解決方法,但更簡單的方法是引入一個包裝對象並更改您的簽名:

public class PersonContext{ 
    private UserContext userContext; 
    private Person person; 
    // getters and setters 
} 


public Person createPerson(@RequestBody PersonContext personContext) 
+0

謝謝,我正在考慮包裝數組作爲最後的手段。你身邊的工作是指什麼? – Sri 2011-04-20 07:13:42

+1

@Srirangan:workarround是PersonContext類 - 它是某種DTO – Ralph 2011-04-20 07:24:32

+0

@Srirangan我說*可能*是一種解決方法。我不知道有一個我自己 – 2011-04-20 07:32:46

相關問題