Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回jersey rest服务中的错误列表_Java_Jersey 2.0 - Fatal编程技术网

Java 返回jersey rest服务中的错误列表

Java 返回jersey rest服务中的错误列表,java,jersey-2.0,Java,Jersey 2.0,在我们的项目中,我们使用rest服务(Jersey)。在其中一个需求中,我想将缺少的强制参数列表返回给客户机。 现在我正在使用异常映射器,它可以返回一条错误消息 public class MandatoryParameterMissingException extends RuntimeException { private static final long serialVersionUID = 1L; public MandatoryParameterMissingEx

在我们的项目中,我们使用rest服务(Jersey)。在其中一个需求中,我想将缺少的强制参数列表返回给客户机。 现在我正在使用异常映射器,它可以返回一条错误消息

public class MandatoryParameterMissingException extends RuntimeException {

    private static final long serialVersionUID = 1L;


    public MandatoryParameterMissingException(String message) {
        super(message);
    }


public class MandatoryParamMissingExceptionMapper implements ExceptionMapper<MandatoryParameterMissingException> {

    @Override
    public Response toResponse(MandatoryParameterMissingException ex) {
        ErrorMessage errorMessage = new ErrorMessage(ex.getMessage(), 404, "Document source:todo");
        return Response.status(Status.NOT_FOUND)
                .entity(errorMessage)
                .build();
    }

private String errorMessage;
    private int errorCode;
    private String documentation;

    public ErrorMessage() {

    }

    public ErrorMessage(String errorMessage, int errorCode, String documentation) {
        super();
        this.errorMessage = errorMessage;
        this.errorCode = errorCode;
        this.documentation = documentation;
    }

有人能建议一下增强这一点的最佳方法是什么,获取错误消息列表并将其传递回客户端吗?

对于这个问题,我创建了一个名为ValidationException的类。ValidationException包含ValidationError的列表

有不同类型的ValidationError,例如OutOfRangeError、MandatoryParameterError和您需要的任何东西。ValidationError始终包含特定属性(客户端为用户创建有意义的messagetext所需的所有属性)=>MandatoryParameterError仅包含字段名称,OutOfRangeError包含字段名称和允许范围

在服务器端有验证器(在一个公共包中,因此客户端可以自己进行验证)。。。验证程序在验证数据期间创建ValidationErrors。如果存在验证错误,将抛出ValidationException。就这样。我可以给你一些代码片段

if (emailID == null) {
            throw new MandatoryParameterMissingException("Email id is missing");
        }