Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Permintaan yang dikirim oleh klien salah secara sintaksis menggunakan @DateTimeFormat

Karena Anda menggunakan RequestBody dengan application/json jenis konten, Spring akan menggunakan MappingJackson2HttpMessageConverter untuk mengonversi JSON Anda menjadi objek tipe Anda. Bagaimanapun string tanggal yang Anda berikan, 11/14 tidak cocok dengan salah satu pola tanggal yang telah dikonfigurasi sebelumnya dan karena itu tidak dapat menguraikannya dengan benar. MappingJackson2HttpMessageConverter , atau lebih tepatnya ObjectMapper itu berhasil, tidak tahu apa-apa tentang @DateTimeFormat , anotasi Musim Semi.

Anda harus memberi tahu Jackson pola tanggal mana yang ingin Anda gunakan. Anda dapat melakukannya dengan deserializer tanggal khusus

public class CustomDateDeserializer extends JsonDeserializer<Date> {
    @Override
    public Date deserialize(JsonParser jp, DeserializationContext ctxt)
            throws IOException, JsonProcessingException {
        SimpleDateFormat format = new SimpleDateFormat("MM/yy");
        String date = jp.getText();

        try {
            return format.parse(date);
        } catch (ParseException e) {
            throw new JsonParseException(e);
        }
    }
}

Kemudian cukup beri anotasi pada bidang Anda sehingga Jackson tahu cara membatalkan serialisasi.

@JsonDeserialize(using = CustomDateDeserializer.class)
private Date test;

Anda dapat menggunakan @DateTimeFormat jika Anda menggunakan parameter formulir yang disandikan url dengan @ModelAttribute . Spring mendaftarkan beberapa konverter yang dapat mengonversi nilai String dari parameter permintaan menjadi Date obyek. Hal ini dijelaskan dalam deokumentasi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel Fasih dengan dua "WHERE NOT IN" di subquery

  2. MySQL:Rincian cepat dari jenis gabungan

  3. UNION setelah ORDER BY dan LIMIT

  4. Rows_sent:12 Rows_examined:549024 - bagaimana cara mengoptimalkan kueri mySQL?

  5. Merancang database resep yang perlu menyertakan bahan serta sub-resep