Spring MVC - RequestBody无法正常工作(JSON)

时间:2013-12-04 10:30:38

标签: json spring spring-mvc marshalling

我有一个简单的控制器方法:

@RequestMapping(value = "/test", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(value = HttpStatus.OK)
@ResponseBody
public void postCheck(@RequestBody TestDTO testDTO, HttpServletRequest request) {

System.out.println(testDTO);

}
DTO是:

public class TestDTO {

private String hello;

public TestDTO() {

}

public String getHello() {
    return hello;
}

public void setHello(String hello) {
    this.hello = hello;
}

}

当我尝试向该URL发布请求时,我收到ERROR 400消息响应“客户端发送的请求在语法上是不正确的。” (根本没有调用控制器方法)

我尝试从Chrome的海报插件和jquery的ajax发布:

$.ajax({
    type : "POST",
    url : "http://localhost:8080/NG_Admin/test",
    contentType : "application/json",
    dataType : "json",      
    data : JSON.stringify(eval({"hello" : "world"})),
    error : function(data) {
        alert('Error');
    },
    success : function(data) {  
            alert('Success!');
    }
});
}

有什么想法吗? (顺便说一句,我使用'jackson-mapper-asl',版本:'1.9.12','jackson-core-asl',版本:'1.9.12')

由于

1 个答案:

答案 0 :(得分:0)

好的,我解决了问题,

必须为处理CORS访问的所有请求添加过滤器。