Spring @RequestBody的替代方案

Spring @RequestBody的替代方案,spring,google-app-engine,spring-mvc,Spring,Google App Engine,Spring Mvc,有没有其他方法可以在不使用注释方法的情况下获取对请求主体的引用?我正在使用GAE+Spring,每次我在控制器方法的签名中使用@RequestBody,服务器都会返回415不支持的媒体类型。我所要做的就是在Post方法上读取一条JSON编码的消息。谢谢。您可以接受HttpServletRequest的参数,然后从那里使用读取ServletInputStream。流将包含请求的主体 @Controller public class MyController { @RequestMappin

有没有其他方法可以在不使用注释方法的情况下获取对请求主体的引用?我正在使用
GAE+Spring
,每次我在控制器方法的签名中使用
@RequestBody
,服务器都会返回
415不支持的媒体类型
。我所要做的就是在Post方法上读取一条
JSON编码的消息。谢谢。

您可以接受
HttpServletRequest
的参数,然后从那里使用读取
ServletInputStream
。流将包含请求的主体

@Controller
public class MyController {
    @RequestMapping("/test")
    public String aTest(HttpServletRequest request) {
        InputStream body = request.getInputStream();
        //process request body
        return myReturnVal;
    }
}

尝试此操作,在RequestMapping上配置头以接受application/json,并确保为此类型配置jackson消息转换器

如何将媒体类型固定为正确的类型?很可能需要调整消息转换器。嘿,我已经尝试过了,但是没有什么不同,谢谢。GAE发送媒体类型的方式是什么?我知道有时候标题可能会被调整,你可能想做下面的事情,并记录媒体类型入站。