我有一个简单的控制器方法:
@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')
由于
答案 0 :(得分:0)
好的,我解决了问题,
必须为处理CORS访问的所有请求添加过滤器。