java - 托管在云中时,自定义 Spring 启动异常处理程序不起作用
问题描述
我是春季靴子的新手,我有一个场景我无法弄清楚我可能会错过什么。我创建了 Common Error 处理程序类来处理我的所有应用程序错误,并且在使用 Spring Boot 嵌入式 tomcat 或本地 tomcat 时可以正常工作。但是,如果我将相同的 war 文件部署到安装了 tomcat 应用程序的数字海洋云服务器上,则不会调用 @ControllerAdvice。这是我的 Spring Boot 代码,我需要帮助来弄清楚我可能缺少什么或应该做什么。在我的云服务器中使用 open jdk 8 但在本地主机上使用 jdk8
@Order(Ordered.HIGHEST_PRECEDENCE)
@ControllerAdvice
public class AppExceptionHandler extends ResponseEntityExceptionHandler
{
@ResponseBody
@ExceptionHandler(ValidationException.class)
public ResponseEntity<?> InvalidData(ValidationException e){
common.logException(e);
return response(common.BAD_REQUEST, "125# "+e.getMessage());
}
private ResponseEntity<ServerResponse> response(int code, String msg) {
return new ResponseEntity<>(new ServerResponse(code,msg
), HttpStatus.FORBIDDEN);
}
}
@Getter
@SuppressWarnings("serial")
@ResponseStatus(HttpStatus.FORBIDDEN)
public class ValidationException extends RuntimeException {
private Object[] params = null;
private String status_code;
public ValidationException(String message,String status_code) {
super(message);
this.status_code=status_code;
}
public ValidationException(String message, Throwable cause) {
super(message, cause);
}
public ValidationException(String message, Object[] params) {
super(message);
this.params = params;
}
}
@Data
public class RegModel{
@JsonProperty("EmailAddress")
private String email_address;
private String application_type;
private String admission_num;
}
@Data
@AllArgsConstructor
public class ResponseModel{
private int resp_code;
private String message;
}
@Service
public class MyService{
public <T> T createStudent(RegModel userCreationModel)
{
T response=null;
if(userCreationModel.getEmail_address()==null)
{
throw new ValidationException(new ResponseModel("Invalid Request",500);
}
}
}
解决方案
推荐阅读
- flutter - 当流产生一定的价值时,在流之外创造未来
- javascript - 这个 reduce 函数的类型应该是什么
- javascript - 表行中的增量值
- wpf - 保持多个 devexpress 网格的列大小同步
- mysql - 启动 MariaDB 数据库服务器:mysqld ........失败
- python - 如何让 AWS Lambda 上的 NaCL 正常工作?
- java - 为什么 MediaPlayer.create 在类的开头初始化时会抛出 NullPointer 异常,但在 OnCreate 方法中初始化时不会?
- javascript - Javascript:如何重新排列 json
- jquery - jQuery 平滑滚动脚本不适用于下拉链接
- python - 活动期间 GUI 没有变化?(Python3.6、PyQt5)