Đây là những gì tôi nghĩ về việc thực hiện trên máy chủ JEE Glassfish bằng Jersey.
@GET
@Path("/{name}/{date}")
public String getMessages(@PathParam("name") String name, @PathParam("date") Date date)
Tôi thích ý tưởng có thể nói với mọi người về việc sử dụng dịch vụ web RESTful này rằng "Ngày ở đây là bất cứ điều gì hoạt động với lớp Date trong Java". Điều đó khá đơn giản theo quan điểm rằng họ chỉ cần nhìn vào thông số Ngày và họ sẽ có một mô hình hoạt động mà họ có thể thử nghiệm.
Vấn đề mà tôi lo lắng là khi tôi làm điều này, JAX-RS không đẹp lắm khi Date () không giống như những gì nó có trong hàm tạo. Vì Date () đưa ra một lỗi nếu nó không thể phân tích những gì nó đưa ra (như nếu bạn chuyển chuỗi "hôm nay" thay vì ngày thực sự), máy chủ JEE trả về lỗi 404.
Đây có phải là một thực hành tốt? Có cách nào tốt hơn để làm điều này mà tôi không nghĩ đến?
DateTimeFormatter
. Đối với Java <= 7, tôi sẽ sử dụng mộtThreadLocal