Tôi đang học JAX-RS (hay còn gọi là JSR-311) bằng cách sử dụng Jersey. Tôi đã thành công tạo ra một Tài nguyên gốc và đang chơi xung quanh với các tham số:
@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
}
}
Điều này hoạt động rất tốt và xử lý bất kỳ định dạng nào trong ngôn ngữ hiện tại được hiểu bởi hàm tạo Ngày (Chuỗi) (như YYYY / mm / dd và mm / dd / YYYY). Nhưng nếu tôi cung cấp một giá trị không hợp lệ hoặc không hiểu, tôi nhận được phản hồi 404.
Ví dụ:
GET /hello?name=Mark&birthDate=X
404 Not Found
Làm thế nào tôi có thể tùy chỉnh hành vi này? Có lẽ một mã phản hồi khác nhau (có thể là "400 Yêu cầu Không hợp lệ")? Điều gì về việc đăng nhập một lỗi? Có thể thêm mô tả về sự cố ("định dạng ngày xấu") trong tiêu đề tùy chỉnh để hỗ trợ khắc phục sự cố? Hoặc trả lại toàn bộ phản hồi Lỗi với các chi tiết, cùng với mã trạng thái 5xx?