2017-05-25 129 views
0

我想在Spring Rest中使用两个请求主体进行映射。在Spring Restful Service中使用两个RequestBody

我已经阅读了一些问题,并建议使用两种不同的方法,其中一种应用程序/ json和其他应用程序/ x-www-form-urlencoded。

我想知道这是唯一的方法还是有任何替代方案,以便我可以使用application/json和urlencoded作为我的RequestBody。

回答

0

我不知道为什么你会需要两个 - @RequestBody - 一个用于application/json &其他的application/x-www-form-urlencoded而概念HTTP请求只有一个身体,以便两个机构没有道理给我。

你在找什么是处理两个不同内容的同一个方法 - 类型不是两个主体。身体生成/转换过程会根据内容类型而有所不同,但由于客户端将发送相同的数据,因此只剩下一个身体。

两个不同的内容类型已经被支持所强调here

随着consumes={MediaType.APPLICATION_JSON_VALUE,MediaType.APPLICATION_FORM_URLENCODED_VALUE},你可以同时发送内容 - 在您的要求不断变化的内容类型头部,其中一个@RequestBody类型。

对于唯一的@RequestMapping只能有一种方法,否则它将变成模糊映射。

多个映射可以映射到单个方法,反之亦然是不允许的。

相关问题