2016-07-19 105 views
0

我有一個Spring MVC的控制器,需要一個RequestBody作爲後:支持多個變壓器RequestBody春季

public void postIt(@RequestBody Foo foo) {} 

我有哪裏Foo已被替換Bar的API的新版本。我仍然需要支持發佈Foo的人,但他們應該能夠爲新客戶發佈BarFoo和Bar有相同的信息,Bar只是更容易使用。

因此,我不想讓兩個控制器方法告訴Spring「如果某人發佈Foo到這個端點,通過給它一個映射函數將它轉換爲Bar」。

注意,這是不同的/字符串解析(我們支持與傑克遜既JSON和XML與JAXB)

有沒有辦法做到這一點後?

+0

爲什麼你不想有兩種方法是否有特定的原因? – zeroflagL

+0

我不得不改變路徑。 Spring似乎無法區分兩種不同的RequestBody。老實說,我已經嘗試了這幾種方式,我不認爲我可以做到這一點,並自動綁定到類型。似乎我需要將身體作爲一個字符串並自己做(也許作爲一個方面或攔截器) – ryber

回答

0

嘗試使用此方法的前面方法並在那裏進行轉換。