有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

我的Spring框架上的java HttpMessageEndableException错误

我想用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"

有人知道怎么了吗


共 (1) 个答案

  1. # 1 楼答案

    您正在发送一个JSON数组:

    [{
        "nama_barang": "buku",
        "kuantitas": "17",
        "harga": "500000",
        "tanggal": "2020-08-01",
        "created_by": "adit"
    }]
    

    你需要发送

    {
        "nama_barang": "buku",
        "kuantitas": "17",
        "harga": "500000",
        "tanggal": "2020-08-01",
        "created_by": "adit"
    }
    

    你也应该要求

    @PostMapping(path="/createBarangByJson", consumes="application/json") 
    

    而不是

    @PostMapping("/createBarangByJson")