gpt4 book ai didi

java - 将 JSON 发布到 Spring MVC Controller 返回 400 错误请求

转载 作者:行者123 更新时间:2023-12-02 13:49:37 27 4
gpt4 key购买 nike

我想 POST JSON 并让 Jackson 将其转换为 POJO,但现在我什至无法 POST 一个简单的字符串参数。

  1. 我正在使用 Jackson 2.3.2(jackson-core 和 jackson-databaind)

  2. 我正在使用 Spring 3.2.8.RELEASE(spring-context、spring-webmvc)

  3. 我的 Controller 如下所示:

    @RequestMapping(value="add-name", method=RequestMethod.POST, headers = "Accept=application/json")
    public String addName(@RequestParam(value = "name", required = false) String name) {
    LOG.info(String.format("name: %s", name));
    return "name";
    }
  4. 我使用如下数据发布到此 Controller :

    { "name" : "my_name" }
  5. 我收到的响应是 400 Bad Request

注意:我通过 jQuery.post() 提交 POST ,但为了将其作为变量删除,我还通过 FF Poster add-on 提交 POST指定 URL、内容类型 (application/json) 和数据,如上所示。

编辑:我认为问题可能是 jackson 库甚至没有被调用。我将其从依赖项中取出,没有任何变化,没有不同的错误/异常,我仍然只是得到 400 Bad Request 响应。

编辑 2: 即使我完全取出 addName 的参数并发布一个空正文 {} 我仍然得到一个 400 错误请求

最佳答案

您正在正文中发布原始数据,但您的 Controller 正在寻找名为name的参数。可以使用值为 my_name 的参数 name 进行发布,或者在处理程序中使用 @RequestBody 传入 JSON 对象。

关于java - 将 JSON 发布到 Spring MVC Controller 返回 400 错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22869403/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com