ฉันกำลังเรียนรู้ JAX-RS (aka, JSR-311) โดยใช้ Jersey ฉันสร้างทรัพยากรรูทสำเร็จแล้วและกำลังเล่นกับพารามิเตอร์:
@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
}
}
วิธีนี้ใช้งานได้ดีและจัดการรูปแบบใด ๆ ในสถานที่ปัจจุบันซึ่งเป็นที่เข้าใจกันโดยตัวสร้าง Date (String) (เช่น YYYY / mm / dd และ mm / dd / YYYY) แต่ถ้าฉันให้ค่าที่ไม่ถูกต้องหรือไม่เข้าใจฉันจะได้รับการตอบกลับ 404
ตัวอย่างเช่น:
GET /hello?name=Mark&birthDate=X
404 Not Found
ฉันจะกำหนดลักษณะการทำงานนี้เองได้อย่างไร อาจเป็นรหัสตอบกลับอื่น (อาจเป็น "400 คำขอไม่ถูกต้อง")? สิ่งที่เกี่ยวกับการบันทึกข้อผิดพลาด? อาจเพิ่มคำอธิบายปัญหา ("รูปแบบวันที่ไม่ดี") ในส่วนหัวที่กำหนดเองเพื่อช่วยแก้ไขปัญหาหรือไม่ หรือส่งคืนการตอบกลับข้อผิดพลาดทั้งหมดพร้อมรายละเอียดพร้อมกับรหัสสถานะ 5xx