11
JAX-RS / Jersey如何自定义错误处理?
我正在使用Jersey来学习JAX-RS(又名JSR-311)。我已经成功创建了一个根资源,并且正在使用参数: @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 Bad Request”)?记录错误该怎么办?也许在自定义标题中添加问题描述(“错误日期格式”)以帮助进行故障排除?还是返回带有详细信息的完整错误响应以及5xx状态代码?