首页 > 解决方案 > Spring Boot REST API:无法将 String 类型的值转换为 Long

问题描述

问题:

我用 Spring Boot 制作了一个 Restful API。我的一种方法是删除,它采用 Response 对象并执行一些其他查询,最终根据条件从 db 中删除该对象。但是,由于尝试将 String 转换为 Long 的类型不匹配,它在函数体之前失败。我在不使用 Long 类型的请求中使用 JSON。所以我改用这样的字符串"id":"1",由于某种原因它不会转换。有人有建议吗?下面的信息

响应对象:

public class Response {

    private long id;
    private String key;
    private String value;
    private String group;
 
 
    public Response(String key, String value, String group) {
         this.key = key;
         this.value = value;
         this.group = group;
    }

我使用 GeneratedValue(strategy = GenerationType.IDENTITY) 来自动创建 id。不确定是否相关

故障点:

这里似乎失败了。尝试将 JSON 转换为 Response 对象时。

public ResponseEntity<String> deleteResponse(@RequestBody Response response) {

}

标签: javaspring-bootresttype-mismatch

解决方案


"id":"1"如果要自动转换,则不应通过。您应该像这样传递 json "id": 1(数字上不带引号)。


推荐阅读