java - 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) {
}
解决方案
"id":"1"
如果要自动转换,则不应通过。您应该像这样传递 json "id": 1
(数字上不带引号)。
推荐阅读
- kubernetes - Fluentd td-agent 源插件的动态标记
- function - 增加值的函数如何工作?
- spring-boot - SpringMVC 用 post 改变 JSP
- java - 无法解析 ViewModelProviders 中 android.support.v4.app.FragmentActivity 的方法
- javascript - 即使我只有一个参数,我也会收到“包装承诺不可迭代错误”
- r - 如何将列表中的数据框添加在一起但仅用于匹配日期
- java - 编码 - 将 US-ASCII 转换为 UTF-8?
- php - PHP mail() 函数返回 false,但电子邮件已成功接收
- kotlin - 从注释中获取值失败
- java - 我的问题是关于从代码中删除“”时的错误