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

为什么此Spring启动应用程序会对post请求引发异常

狄誉
2023-03-14

控制器:-

@RestController
public class MyController {

private String url = "https://scoreboard-backend-dev.herokuapp.com/scoreBoard";

@Autowired
private RestTemplate restTemplate;

@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
    return builder.build();
}

@PostMapping("/add/score")
public ScoreBoard addScore(@RequestBody ScoreBoard scoreBoard){
    ResponseEntity<ScoreBoard> responseEntity =  restTemplate
                       .postForEntity(url+"/add/score", scoreBoard, ScoreBoard.class );
    return responseEntity.getBody();

}

型号:-

public class ScoreBoard {

    private long id;
    private String team;
    private int point;

    public ScoreBoard(){

    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getTeam() {
        return team;
    }

    public void setTeam(String team) {
        this.team = team;
    }

    public int getPoint() {
        return point;
    }

    public void setPoint(int point) {
        this.point = point;
    }
}

我试着让邮递员用以下身体来测试它:-http://localhost:8080/add/score(职位)

{
    "id": 1,
    "team": "new team",
    "point": 3030
}

我得到了以下错误:

2020-06-10 21:19:17.303 ERROR 19926 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.client.RestClientException: Error while extracting response for type [class com.example.resttemplatedemo.model.ScoreBoard] and content type [application/json]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'ScoreBoard': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'ScoreBoard': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: (PushbackInputStream); line: 1, column: 12]] with root cause

com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'ScoreBoard': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: (PushbackInputStream); line: 1, column: 12]
    at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1851) ~[jackson-core-2.11.0.jar:2.11.0]

共有1个答案

瞿博易
2023-03-14

为了将JSON HTTP请求体反序列化到类中,ScoreBoard必须有一个没有参数的构造函数

 类似资料:
  • 谢谢你调查我的问题。 我正在使用Spring Boot和Spring Security进行练习。我已经创建了一个简单的项目,带有基本的注册,但是我无法登录工作。我正在尝试手动将用户登录到一个方法中,但是该方法没有启动。当我尝试用POST: /login登录时,它只是将302重定向到。我非常确定我已经正确地设置了安全配置和方法注释。但是post方法甚至没有运行。(我知道,因为我在帖子方法中有一个打印

  • 我的Spring启动应用程序, 在获得Whitelabel错误页面后,我在我的一个控制器中映射了, 我映射了一个,出现以下异常:, 遵循User9123的解决方案,但是,我仍然得到下面的页面,

  • 我使用maven spring启动插件创建了一个jar,并尝试使用。主文件是用SpringBoot配置的,当我尝试打包它时,启动jar,我得到的错误是- 这表明打包的jar中缺少依赖项jar。我试着在网上寻找各种解决方案,但失败的是,没有一个对我有效。我检查了NoClassDefinitionFound和PackageDependencyJAR的答案,但它不起作用,每次都会出现相同的错误。下面是我

  • 我在intellij上启动spring boot应用程序时遇到问题,它失败了,并显示以下消息:与目标VM断开连接,地址:'127.0.0.1:49784',传输:'socket' 过程结束,退出代码为255。以前有人遇到过这种情况吗?

  • 我最初的程序是为了将数据插入我的数据库。我有4个表,其中插入了数据,为了优化起见,我在一个单独的线程中这样做,因为实体是异步创建的。我正在使用consume方法将实体添加到队列中。 过了一段时间,我决定使用Spring Boot将web api添加到我的应用程序中。Spring Data JPA是需要的,因为一些POST请求将数据插入到我的数据库中。但是Spring Data JPA与我已经在使用

  • 我使用的是Spring boot,这里是maven依赖项 我试图用Angular创建一个HTTP请求帖子(我也有一个工作正常的GET请求),但我得到了这个 在响应头中 我意识到在响应中,allow没有POST方法。 控制器中的方法