相关疑难解决方法(0)

JAX-RS/Jersey如何自定义错误处理?

我正在使用Jersey学习JAX-RS(又名JSR-311).我已经成功创建了一个Root资源并正在使用参数:

@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
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用,并处理当前语言环境中的任何格式,日期(字符串)构造函数(如YYYY/mm/dd和mm/dd/YYYY)可以理解这种格式.但是,如果我提供的值无效或无法理解,我会得到404响应.

例如:

GET /hello?name=Mark&birthDate=X

404 Not Found
Run Code Online (Sandbox Code Playgroud)

我该如何自定义此行为?也许是一个不同的响应代码(可能是"400 Bad Request")?记录错误怎么样?也许在自定义标题中添加问题描述("错误日期格式")以帮助排除故障?或者返回包含详细信息的完整错误响应以及5xx状态代码?

java rest error-handling jax-rs jersey

210
推荐指数
6
解决办法
16万
查看次数

标签 统计

error-handling ×1

java ×1

jax-rs ×1

jersey ×1

rest ×1