当前位置: 首页 > 知识库问答 >
问题:

SpringMVC 400错误请求JSON数据

孙佐
2023-03-14

我在向spring mvc控制器发送请求时遇到了一些问题。我有实体:

public class Person {
    private String name;
    private int age;
    private String city;
    //..getters setters

}
@Controller
@RequestMapping("/companies")
public class FirmaController {
    @RequestMapping(value = "/addPerson", method = RequestMethod.POST, headers = {"Content-type=application/json"})
    public String addPerson(@RequestBody Person person) {
        return "person";
    }
}
curl -i -X POST -HContent-Type:application/json  -HAccept:application/json http://localhost:8080/api/companies/addPerson -d "{ 'name': 'Gerry', 'age': 20, 'city': 'Sydney' }"

我收到一个HTTP/1.1400错误请求:

HTTP/1.1 400 Bad Request
Content-Type: text/html;charset=ISO-8859-1
Cache-Control: must-revalidate,no-cache,no-store
Content-Length: 1392
Server: Jetty(8.1.10.v20130312) 

我做错了什么?

共有1个答案

周鸿云
2023-03-14

您发送的数据不是有效的JSON。字符串必须用双引号而不是单引号'包装,就像您的示例一样。

如果您没有Spring的旧版本,您应该使用consumes=“application/json”而不是headers=...

 类似资料:
  • 我正在使用Basecamp API,它是一个REST(JSON)API,使用HTTPS上的基本HTTP身份验证。 这应该是一个GET请求,但当我使用GET运行我的代码时,我收到了: 无法发送包含此谓词类型的内容正文 当我将其作为POST运行时,我会收到: {“状态”:“400”,“错误”:“错误的请求”} 有谁知道为什么会发生这种情况? 在此代码中,我显然交换了用户名,密码,项目名称和URL,但在

  • 我有一个jersey服务器的例子,它适用于XML,但不适用于JSON。 如果我将此xml请求作为发送到服务器,则一切正常, 作为) 我在utilities-online.info将其翻译为JSON,并将其作为发送到相同的URL,具有相同的参数,但收到错误“400错误请求” 环境: Tomcat 7 球衣2.17 我尝试过的: 将添加到init-参数 启用init-参数为 添加了依赖项//

  • 我正在构建一个简单的API来测试数据库。当我使用get请求时,一切正常,但如果我更改为post,我会收到“不可处理实体”错误: 以下是FastAPI代码: 然后,我使用javascript的请求 也使用Python 我还尝试解析为 json,使用 utf-8 进行解析,并更改标头。没有什么对我有用。

  • Postman成功调用Firebase API,但Apache Camel-Spring Boot应用程序返回错误。 API:https://fcm.googleapis.com/fcm/notification?notification_key_name=expectedvalue Http方法:GET 标题: 授权:预期值 Content-Type:应用程序/json project_id:预

  • 我正在使用实现一个联系人应用程序。现在,我正试图通过发送以下格式的put请求来更新联系人 我将XML作为字符串发送,作为请求的主体。这是我的xmlString(请求主体) 我写了下面的代码来发送更新联系人的PUT请求。 当我试图在中发送请求时,联系人更新成功。但是当我试图运行上面的程序时,我得到了 400错误请求错误 我不知道我哪里出错了。任何帮助都将不胜感激!

  • 我有一个基于Spring Web model view controller(MVC)框架的项目。Spring Web模型-视图-控制器(MVC)框架的版本是3.2.8 我有这个控制器 这个URL一切正常: