Ini adalah apa yang saya pikirkan tentang lakukan di server GlassEE JEE menggunakan Jersey.
@GET
@Path("/{name}/{date}")
public String getMessages(@PathParam("name") String name, @PathParam("date") Date date)
Saya suka ide untuk bisa memberi tahu orang yang menggunakan layanan web RESTful ini bahwa "Tanggal di sini adalah apa pun yang bekerja dengan kelas Date di Java". Itu cukup sederhana dari sudut pandang bahwa mereka hanya dapat melihat spec Date, dan mereka sudah memiliki model kerja yang dapat mereka uji.
Masalah yang saya khawatirkan adalah ketika saya melakukan ini, JAX-RS tidak begitu baik ketika Date () tidak suka apa yang didapat di konstruktor. Sejak Date () melempar kesalahan jika tidak dapat menguraikan apa yang diberikan (seperti jika Anda memberikannya string "hari ini" alih-alih tanggal nyata), server JEE mengembalikan kesalahan 404.
Apakah ini praktik yang baik? Apakah ada cara yang lebih baik untuk melakukan ini yang tidak saya pikirkan?
DateTimeFormatter
. Untuk Java <= 7, saya akan menggunakanThreadLocal