我已经为我的spring boot应用程序创建了一个自定义REST控制器异常处理程序。。。
@ControllerAdvice(annotations = RestController.class)
public class RestControllerExceptionHandler {
@ExceptionHandler(TechnicalException.class)
public ResponseEntity handleTechnicalException(TechnicalException e) {
return new ResponseEntity<>(
new RestErrorMessageModel(e.getErrorCode(), e.getMessage()), BAD_REQUEST
);
}
@ExceptionHandler(BusinessException.class)
public ResponseEntity handleBusinessException(BusinessException e) {
return new ResponseEntity<>(
new RestErrorMessageModel(e.getErrorCode(), e.getMessage()), BAD_REQUEST
);
}
@ExceptionHandler(ValidationException.class)
public ResponseEntity handleValidationException(ValidationException e) {
return new ResponseEntity<>(
new RestErrorMessageModel(e.getErrorCode(), e.getDetails()), BAD_REQUEST
);
}
}
... 我处理验证、业务(由于违反业务规则而导致的异常)和技术(与数据库相关、无效的请求参数等)异常。
异常类有两个参数:errorCode(唯一枚举)和消息(异常详细信息)。
正如您从示例中看到的,对于所有情况,我都会返回BAD_REQUEST(400)状态,这不是最佳做法。
我想知道基于异常类别处理HTTP状态的最佳方法,例如:对于验证错误,返回BAD_请求(400)状态为“OK”。
... 或者有没有办法让spring boot“决定”发送哪个状态码?
您始终可以在Exception和Handler中设置HttpStatus属性,只需获取status的值并在ResponseEntity中配置它。HttpStatus基本上取决于已执行任务的上下文。您的技术或业务异常可以返回400、404、409等。我认为好的解决方案是在抛出合适的异常时定义HttpStatus。如果你不想为每个HttpStatus定义很多异常,你可以使用org。springframework。网状物服务器这是个例外。
由于错误的类型在应用程序中可能会有所不同,并且不可能为所有这些错误提供通用的HTTP状态,因此我通过创建自定义映射器来解决这个问题,该映射器将错误代码映射到HTTP状态。
由于错误代码是唯一的,它们中的每一个都用于特殊的异常处理,我可以将错误代码映射到Http状态。
来自java
从错误代码的值来看,没有标准。但是你可以:
https://developer.paypal.com/docs/api/reference/api-responses/#http-状态码
https://developer.paypal.com/docs/classic/api/errors/#10000-to-10099
我试图在我的spring boot应用程序中实现一些自定义异常处理程序,它将能够处理自定义异常并显示批准消息和状态代码。 请帮忙。
我正在使用来自外部API的一些RESTendpoint,为此我正在使用REST模板接口。当我从这些调用中收到某些HTTP状态代码时,我希望能够抛出自定义应用程序异常。为了实现它,我正在实现ResponseErrorHandler接口,如下所示: 最后,这是客户端代码(无关代码省略): 我的应用程序上下文: 我怀疑我没有正确理解此自定义错误处理的行为。每个rest模板方法都可能抛出一个RestCli
我使用的是Nifi 0.4.1版本。我写自定义代码转换CSV到avro格式。我已经创建了类文件,并能够生成nar文件。将nar文件放置在lib目录中,并重新启动nifi服务器。 任何帮助都很感激.. 谢谢,
我有一个spring-boot应用程序,没有任何控制器类。如何为该应用程序编写异常处理程序。用@ControllerAdvice注释的异常处理程序类不起作用。
本文向大家介绍SpringBoot错误处理机制以及自定义异常处理详解,包括了SpringBoot错误处理机制以及自定义异常处理详解的使用技巧和注意事项,需要的朋友参考一下 上篇文章我们讲解了使用Hibernate Validation来校验数据,当校验完数据后,如果发生错误我们需要给客户返回一个错误信息,因此这节我们来讲解一下SpringBoot默认的错误处理机制以及如何自定义异常来处理请求错误。
我想为REST API做自定义异常处理。 这是我掌握的密码。 如何使自定义错误类捕获并显示自定义错误? 谢谢