2016-07-19 67 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

尝试使用此方法的前面方法并在那里进行转换。