【发布时间】:2021-06-06 08:42:48
【问题描述】:
我想用 spring 框架向我的数据库发送一个对象。这是我在控制器中的代码:
@PostMapping("/createBarangByJson")
public ResponseEntity<?> createBarangByJson(@RequestBody RequestUser body)
{
Integer cDet = crudService.simpleCreateByJson(body);
return ResponseEntity.ok(cDet);
}
}
我已经为请求类制作了 setter getter,这是我在 DaoImpl 中的代码:
@Override
public Integer simpleCreateByJson(RequestUser reqUser)
{
String sql = "INSERT INTO public.jualbeli(nama_barang, kuantitas, harga, tanggal, created_by) VALUES (?,?,?,?,?)";
Integer result = jdbcTemplate.update(sql, reqUser.getNama_barang(), Integer.parseInt(reqUser.getKuantitas()), Integer.parseInt(reqUser.getHarga()), reqUser.getTanggal(), reqUser.getCreated_by());
return result;
}
但是当我发送这个数据时:
[
{
"nama_barang": "buku",
"kuantitas": "17",
"harga": "500000",
"tanggal": "2020-08-01",
"created_by": "adit"
}
]
错误说:
"timestamp": 1615207817069,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.http.converter.HttpMessageNotReadableException"
有人知道怎么回事吗?
【问题讨论】:
-
这表明您调用 API 的方式有问题。我会检查服务器上的日志。在“org.springframework.http.converter.HttpMessageNotReadableException”之后可能有更多关于为什么消息不可读的信息。 IE。你发了json?在这种情况下,您需要更改 @PostMapping(path = "/createBarangByJson", consumes="application/json")
-
@AlexanderKatsenelenbogen 是的,我发送 Json 数据并且我已经在我的控制器上使用了 @PostMapping("/createBarangByJson")
-
-
@AlexanderKatsenelenbogen @PostMapping("/createBarangByJson", consumes="application/json") 你的意思是这样吗?
-
@AlexanderKatsenelenbogen @PostMapping("/createBarangByJson", consumes="application/json") 你的意思是这样吗?
标签: java spring postgresql api postman