java - 从 ClientErrorException 获取状态

标签 java web-services jax-rs http-response-codes

ClientErrorException 的众多构造函数中大约有一半拍个Response.Status 。但为什么没有办法恢复呢?除了在 javax.ws.rs.WebApplicationException#validate(javax.ws.rs.core.Response, javax.ws.rs.core.Response.Status.Family) 中进行验证之外,它是否还有其他目的? ?

我认为使用它的方式是扩展它

public class WhateverInvalidInRequestException extends ClientErrorException {

    public WhateverInvalidInRequestException (String message) {
        super(message, Response.Status.BAD_REQUEST);
    }
}

然后使用单个 ExceptionMapper对于所有的子类,非常方便

@Provider
public class ClientErrorExceptionMapper implements ExceptionMapper<ClientErrorException> {

    @Override
    public Response toResponse(ClientErrorException exception) {
        return Response.status(exception.getStatus()).entity(exception.getMessage()).build();
    }
}

但是不存在exception.getStatus()这样的东西。 .

我错过了什么?

最佳答案

你可以这样得到:

exception.getResponse().getStatus()

关于java - 从 ClientErrorException 获取状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35609246/

相关文章:

bst实现中的Java参数传递

javascript - 用于监听我自己的网络服务的推送通知的 Cordova 插件

java - 将 java web 服务 json 消费到 Angular 4 中

java - JAX-RS (Jersey 2) 安全性,@PermitAll 和@RolesAllowed 未按预期工作

java - 将对象注入(inject)过滤器

java - Eclipse 中的 RESTeasy 名称绑定(bind)注释错误

java - 如何上传仅供私有(private)使用的 Android 库?

java - 如何获取EditText中选中的光标位置?

java - 如何为 JavaFX 文本字段设置固定高度而不考虑其内容?

java - 其他平台如何理解java REST服务