Java自定义service异常_java – 在Rest Service中启动自定义异常

我在我的基于

Spring Boot的Rest服务中定义了一个全局异常处理:

@ControllerAdvice

public class GlobalExceptionController {

private final Logger LOG = LoggerFactory.getLogger(getClass());

@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR,reason = "Internal application error")

@ExceptionHandler({ServiceException.class})

@ResponseBody

public ServiceException serviceError(ServiceException e) {

LOG.error("{}: {}",e.getErrorCode(),e.getMessage());

return e;

}

}

和一个自定义ServiceException:

public class ServiceException extends RuntimeException {

private static final long serialVersionUID = -6502596312985405760L;

private String errorCode;

public ServiceException(String message,String errorCode,Throwable cause) {

super(message,cause);

this.errorCode = errorCode;

}

// other constructors,getter and setters omitted

}

到目前为止这么好,当一个异常被触发时,控制器的工作原理和响应:

{

"timestamp": 1413883870237,"status": 500,"error": "Internal Server Error","exception": "org.example.ServiceException","message": "somthing goes wrong","path": "/index"

}

但是字段errorCode不会显示在JSON响应中.

那么如何在我的应用程序中定义一个自定义异常响应.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值