Saya belajar JAX-RS (alias, JSR-311) menggunakan Jersey. Saya telah berhasil membuat Sumber Daya Root dan bermain-main dengan parameter:
@Path("/hello")
public class HelloWorldResource {
@GET
@Produces("text/html")
public String get(
@QueryParam("name") String name,
@QueryParam("birthDate") Date birthDate) {
// Return a greeting with the name and age
}
}
Ini berfungsi dengan baik, dan menangani format apa pun di lokal saat ini yang dipahami oleh konstruktor Date (String) (seperti YYYY / mm / dd dan mm / dd / YYYY). Tetapi jika saya memberikan nilai yang tidak valid atau tidak dipahami, saya mendapatkan respons 404.
Sebagai contoh:
GET /hello?name=Mark&birthDate=X
404 Not Found
Bagaimana saya bisa menyesuaikan perilaku ini? Mungkin kode respons yang berbeda (mungkin "400 Permintaan Buruk")? Bagaimana dengan mencatat kesalahan? Mungkin menambahkan deskripsi masalah ("format tanggal buruk") di header khusus untuk membantu pemecahan masalah? Atau kembalikan respons Kesalahan lengkap dengan detail, bersama dengan kode status 5xx?