Spring MVC- REST POST - 错误请求400

时间:2014-11-21 21:48:33

标签: java spring rest post

我正在尝试向我的服务发布请求,但它无效。我得到了400 Bad Request。我有完全在同一个控制器中工作的GET请求。

以下是方法:

@RequestMapping(value = "/assign", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
    @ResponseBody
    public Form5398Obj arriveTrip(@PathVariable String siteId,
                @RequestBody ErrorMsg anError) throws Exception {

        System.out.println(anError.toString());

    }

ErrorMessage java类如下:

public class ErrorMsg {

    private String code;
    private String msg;
    private String request;

    public ErrorMsg(String code, String msg, String request)
    {
        this.code = code;
        this.msg = msg;
        this.request = request;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public String getRequest() {
        return request;
    }
    public void setRequest(String request) {
        this.request = request;
    }

}

我没有配置任何其他内容。我需要做些什么才能让它发挥作用?我正在使用JavaConfig,我是否需要添加任何bean声明?

我发送: 使用Content-Type:application / json

{
                "code" : "101",
                "msg" : "Hello Test",
                "request" : "1"
}

1 个答案:

答案 0 :(得分:11)

我相信你需要一个没有参数的ErrorMsg构造函数,以便Jackson可以实例化一个对象来填充传入的请求。否则,它不知道如何填充3参数构造函数中的参数。

尝试添加以下内容

public ErrorMsg() {
}