从Jersey的参数注入代码返回客户端的错误?

时间:2014-07-01 15:49:47

标签: java rest dependency-injection jersey-2.0

我有几个使用Jersey 2.9注入REST方法处理程序的自定义参数。参数注入是通过扩展Jersey的AbstractContainerRequestValueFactory及相关类来执行的:

@Provider 公共类ParamProviderFactory扩展了AbstractContainerRequestValueFactory {

@Context
private UriInfo uriInfo;

@Override
public Object provide() {
    // do some work, error happened due to user giving wrong query string format

    // IMPORTANT PART:
    // I need to return an error to the user from here

    return result;
}

}

注入的参数值取决于用户给出的查询字符串。如果查询字符串值无效,我需要向用户返回错误。

问题是:如何向用户返回错误并从provide方法中止REST调用处理?

谢谢!

1 个答案:

答案 0 :(得分:0)

在provide()方法中使用以下内容:

getContainerRequest().abortWith(yourResponse)