Я вивчаю JAX-RS (він же JSR-311) за допомогою Джерсі. Я успішно створив Root Resource і розігруюсь з параметрами:
@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) (наприклад, РРР / мм / dd та mm / dd / YYYY). Але якщо я надаю значення, яке є недійсним або не зрозумілим, я отримую відповідь 404.
Наприклад:
GET /hello?name=Mark&birthDate=X
404 Not Found
Як я можу налаштувати таку поведінку? Може бути інший код відповіді (ймовірно, "400 поганий запит")? Що з реєстрацією помилки? Можливо, додайте опис проблеми ("неправильний формат дати") у спеціальний заголовок, щоб допомогти вирішити неполадки? Або повернути цілу відповідь на помилку з деталями, а також код статусу 5xx?