java - 如何使用 Spring Boot 在 Postgresql 中插入用户输入的日期
问题描述
private JdbcTemplate jdbcTemplate;
@Override
public void insertDate(String date) {
// TODO Auto-generated method stub
System.out.println(date);
String query = "insert into Calender values ( '"+ date + "')";
jdbcTemplate.update(query);
}
我用邮递员发送json数据
{
"date":"2020-12-12"
}
我收到这样的错误
ERROR: invalid input syntax for type date: "{
"date":"2020-12-12"
}"
POJO类
private String date;
查询中需要做哪些更改?
解决方案
问题不在于查询,而在于您的 RestController。您应该为您的请求编写一个单独的类。
说RequestDate.java
class RequestDate {
private String date;
}
在您的休息控制器中,您将不得不更改您的请求正文以映射到 RequestDate 而不是 String
@RequestBody RequestDate date
并在调用服务时
datePickerService.insertDate(date.date)
现在整个请求正文正在被传递,您正尝试将字符串“{“date”:“2020-12-12”}”插入表中,而不是“2020-12-12”
推荐阅读
- docker - 是否可以“重置” Docker 容器的读/写层?
- python - 如何在python中将None分配给对象引用
- python - python - 区分图例中的 x 和 y 误差
- node.js - MongoDB insertMany BulkWriteError,避免捕获重复键并执行 then 功能
- python - 抛出异常:读取访问冲突。**bp** 为 0xFFFFFFFFFFFFFFFF
- jpa - JPA 实体管理器是线程本地的吗?
- javascript - 只有元组时如何将数据从 JSON 加载到 D3 图表
- ms-project - MS Project:如何使用 JavaScript 插件设置任务的日常实际工作?
- css - 如何将css设置为角度4中的交替行
- r - 如何与“参考日期”进行比较,然后在 R 中填充缺失的数据?