RestException.java 1.18 KB
/*******************************************************************************
 * Copyright (c) 2005, 2014 springside.github.io
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 *******************************************************************************/
package com.cjs.site.util.net;

import org.springframework.http.HttpStatus;
import org.springframework.validation.Errors;

/**
 * 专用于Restful Service的异常.
 * 
 * @author calvin
 */
public class RestException extends RuntimeException {

    private static final long serialVersionUID = 28935446457235262L;
    public HttpStatus         status           = HttpStatus.INTERNAL_SERVER_ERROR;

    public RestException() {
    }

    public RestException(HttpStatus status) {
        this.status = status;
    }

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

    /**Spring MVC @valid验证,HttpStatus: 400*/
    public RestException(Errors errors) {
        super(errors.getAllErrors().get(0).getDefaultMessage());
        this.status = HttpStatus.BAD_REQUEST;
    }

    public RestException(HttpStatus status, String message) {
        super(message);
        this.status = status;
    }
}