@RequestBody的替代方案

时间:2011-09-19 19:40:42

标签: spring google-app-engine spring-mvc

是否有其他方法可以在不使用带注释的方法的情况下获取对请求主体的引用?我正在使用GAE + Spring,每次在控制器方法的签名中使用@RequestBody时,服务器都会返回415 Unsupported Media Type。我要做的就是在Post方法上阅读JSON encoded message。感谢。

2 个答案:

答案 0 :(得分:1)

您可以接受HttpServletRequest的参数,并从那里使用getInputStream()阅读ServletInputStream。该流将包含请求的主体。

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

答案 1 :(得分:0)

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