【问题标题】:Spring MVC- REST POST - Bad Request 400Spring MVC- REST POST - 错误请求 400
【发布时间】:2014-11-22 06:12:08
【问题描述】:

我正在尝试向我的服务发布请求,但它不起作用。我收到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 声明?

我正在发送: 内容类型:application/json

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

【问题讨论】:

    标签: java spring rest post


    【解决方案1】:

    我相信您需要一个用于 ErrorMsg 的无参数构造函数,以便 Jackson 可以实例化一个对象以填充传入请求。否则它将不知道应该如何填充 3 参数构造函数中的参数。

    尝试添加以下内容

    public ErrorMsg() {
    }
    

    【讨论】:

    • 不用担心,我以前也遇到过同样的问题,Jackson 似乎默默地接受了错误 - 我会寻找一种启用异常跟踪的方法......
    • 您是否知道它会返回更多描述性错误?
    • 对不起,我从来没有弄明白,虽然我确信一定是可能的,我现在没有在做网络工作,下次我在做一个基于网络的项目时一定会发现!
    • 哦,伙计!!!过去 2 天我被困在这个问题上..:(。谢谢十亿!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多