添加外部接口的统一异常处理
This commit is contained in:
parent
fd11fe4945
commit
ddeb165e7e
|
|
@ -0,0 +1,45 @@
|
|||
package org.wcs.serve.exception.handler;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.ObjectError;
|
||||
import org.springframework.web.bind.MethodArgumentNotValidException;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||
import org.wcs.factory.PubServeResponseFactory;
|
||||
import org.wcs.model.vo.pub.PubServeResponse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@RestControllerAdvice(basePackages = {"org.wcs.serve.controller.pub"})
|
||||
public class PubExceptionHandler {
|
||||
|
||||
/**
|
||||
* 接口层参数校验失败
|
||||
* @param ex 异常信息
|
||||
* @return 响应结果
|
||||
*/
|
||||
@ExceptionHandler(value = MethodArgumentNotValidException.class)
|
||||
@ResponseBody
|
||||
public PubServeResponse handleException(MethodArgumentNotValidException ex) {
|
||||
log.info("外部接口,接口层参数校验失败", ex);
|
||||
List<ObjectError> allErrors = ex.getAllErrors();
|
||||
if(allErrors.isEmpty()) {
|
||||
return PubServeResponseFactory.fail("参数校验失败,请检查传入的数据格式");
|
||||
}
|
||||
return PubServeResponseFactory.fail(allErrors.getFirst().getDefaultMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* 兜底异常
|
||||
* @param ex 异常信息
|
||||
* @return 响应结果
|
||||
*/
|
||||
@ExceptionHandler(value = Exception.class)
|
||||
@ResponseBody
|
||||
public PubServeResponse handleException(Exception ex) {
|
||||
log.error("外部接口,系统异常", ex);
|
||||
return PubServeResponseFactory.fail("系统异常:" + ex.getMessage());
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user