How to send DATE in Rest API in Post Method/Maven Project?

34 Views Asked by At

I'm not able to get a successful post with the JSON above because of the date.

{
  "NM_CLIENTE": "John Doe",
  "ML_CLIENTE": "[email protected]",
  "NR_CPF": "123.456.789-01",
  "DT_NASCIMENTO": "10-10-1990",
  "GN_CLIENTE": "M",
  "NR_CELULAR": "987654321",
  "NR_CEP": "54321-678",
  "ST_ALERGIA": "N",
  "DS_ALERGIA": null,
  "ST_MEDICAMENTOS": "N",
  "DS_MEDICAMENTOS": null
}

Meanwhile, when I try to insert by SQL, it's ok. Like this:

INSERT INTO t_cliente 
    (nm_cliente, ml_cliente, nr_cpf, dt_nascimento, gn_cliente, nr_celular, nr_cep, st_alergia, ds_alergia, st_medicamentos, ds_medicamentos)
VALUES ('João Silva', '[email protected]', '111.111.111-11', TO_DATE('01-01-1990', 'DD-MM-YYYY'), 'M', '999999999', '12345-678', 'N', NULL, 'N', NULL);

Here's my DAO Class.

public void create(Cliente cliente) throws SQLException, ClassNotFoundException {
    classForName();
    try (Connection con = DriverManager.getConnection(URL, USER, PASS)) {
        String sql = "INSERT INTO T_CLIENTE (NM_CLIENTE, ML_CLIENTE, NR_CPF, DT_NASCIMENTO, GN_CLIENTE, NR_CELULAR, NR_CEP, ST_ALERGIA, DS_ALERGIA, ST_MEDICAMENTOS, DS_MEDICAMENTOS) VALUES (?, ?, ?, TO_DATE(?, 'DD-MM-YYYY'), ?, ?, ?, ?, ?, ?, ?)";
        try (PreparedStatement instrucao = con.prepareStatement(sql)) {
            instrucao.setString(1, cliente.getNomeCliente());
            instrucao.setString(2, cliente.getEmailCliente());
            instrucao.setString(3, cliente.getCpf());
            instrucao.setString(4, cliente.getDataNascimento().toString());
            instrucao.setString(5, String.valueOf(cliente.getGeneroCliente()));
            instrucao.setString(6, cliente.getNumeroCelular());
            instrucao.setString(7, cliente.getCep());
            instrucao.setString(8, String.valueOf(cliente.getPossuiAlergia()));
            instrucao.setString(9, cliente.getDescricaoAlergia());
            instrucao.setString(10, String.valueOf(cliente.getUtilizaMedicamentos()));
            instrucao.setString(11, cliente.getDescricaoMedicamentos());
            instrucao.executeUpdate();
      
        }
    } 
} 
0

There are 0 best solutions below