|
@ -1,74 +1,34 @@
|
|
|
package com.yihu.jw.web.exception;
|
|
|
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
|
|
|
/**
|
|
|
* API 异常。使用错误代码初始化,并可接收用于补充错误消息的参数。
|
|
|
* 用于描述错误代码的信息配置在各服务配置文件中,并由服务配置中心统一管理。
|
|
|
*
|
|
|
* 错误描述结构,结构(字段errors对资源而言,REST规范错误不包含此结构):
|
|
|
* {
|
|
|
* "message": "Validation Failed",
|
|
|
* "document_url": "https://ehr.yihu.com/docs/api/somewhere"
|
|
|
* "errors": [
|
|
|
* {
|
|
|
* "resource": "User",
|
|
|
* "field": "title",
|
|
|
* "code": "missing_field"
|
|
|
* }
|
|
|
* ]
|
|
|
* }
|
|
|
*
|
|
|
* @author Sand
|
|
|
* @version 1.0
|
|
|
* @created 2015.12.20 16:05
|
|
|
*/
|
|
|
public class ApiException extends RuntimeException {
|
|
|
|
|
|
private HttpStatus httpStatus; //Http 状态码,默认请求成功
|
|
|
private int errorCode; //用于从配置环境中提取错误信息
|
|
|
private String message; //错误消息
|
|
|
private String documentURL; //文档连接
|
|
|
private String errorDesc; //错误消息
|
|
|
private int errorCode; //错误码
|
|
|
|
|
|
public ApiException(String message) {
|
|
|
this(-1, message);
|
|
|
public ApiException(String errorDesc) {
|
|
|
this(errorDesc, 500);
|
|
|
}
|
|
|
|
|
|
public ApiException(int errorCode, String message) {
|
|
|
this(HttpStatus.OK, errorCode, message);
|
|
|
}
|
|
|
|
|
|
public ApiException(HttpStatus httpStatus, String message){
|
|
|
this(httpStatus, -1, message, null);
|
|
|
}
|
|
|
|
|
|
public ApiException(HttpStatus httpStatus, int errorCode, String message){
|
|
|
this(httpStatus, errorCode, message, null);
|
|
|
}
|
|
|
|
|
|
public ApiException(HttpStatus httpStatus, int errorCode, String message, String documentURL){
|
|
|
super(message);
|
|
|
this.httpStatus = httpStatus;
|
|
|
public ApiException(String errorDesc, int errorCode) {
|
|
|
super(errorDesc);
|
|
|
this.errorDesc = errorDesc;
|
|
|
this.errorCode = errorCode;
|
|
|
this.message = message;
|
|
|
this.documentURL = documentURL;
|
|
|
}
|
|
|
|
|
|
public HttpStatus httpStatus() {
|
|
|
return httpStatus;
|
|
|
public String getErrorDesc() {
|
|
|
return errorDesc;
|
|
|
}
|
|
|
|
|
|
public Integer errorCode() {
|
|
|
return errorCode;
|
|
|
public void setErrorDesc(String errorDesc) {
|
|
|
this.errorDesc = errorDesc;
|
|
|
}
|
|
|
|
|
|
public String documentURL() {
|
|
|
return documentURL;
|
|
|
public int getErrorCode() {
|
|
|
return errorCode;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public String getMessage() {
|
|
|
return message;
|
|
|
public void setErrorCode(int errorCode) {
|
|
|
this.errorCode = errorCode;
|
|
|
}
|
|
|
|
|
|
}
|