@RequestBody返回的Marshall对象

时间:2016-11-11 14:44:03

标签: java spring-mvc spring-boot spring-restcontroller

我将XML输入到REST控制器中,并使用@RequestBody批注将其转换为Java对象。除了Java Object中的一些特定元素之外,我还需要将整个XML保存到数据库列。我明确地编组Java对象来实现这一点,这似乎是重复的工作。在使用@RequestBody注释时,有没有办法在解析对象之外获取原始XML?

1 个答案:

答案 0 :(得分:0)

是的,有。假设这是你的控制器方法:

public Response yourControllerMethod(@RequestBody YourDTO dto) {

只需将您的@RequestBody参数类型更改为String,您就会获得请求的原始主体:

public Response yourControllerMethod(@RequestBody String rawPayload) {

或者你甚至可以同时获得两者:

public Response yourControllerMethod(@RequestBody YourDTO dto, @RequestBody String rawPayload) {