Tho*_*mas 0 exception-handling spring-webflux
我正在使用 spring-webflux 构建 REST 服务。当找不到请求的路径或发生任何其他内部服务器错误时,我需要使用自定义 json 错误响应进行响应。
我有一个GeneralExceptionHandler实现ErrorWebExceptionHandler.
我有一个豆子GeneralExceptionHandler如下。
@Bean
@Order(-2)
public ErrorWebExceptionHandler errorWebExceptionHandler() {
    return new GeneralExceptionHandler();
}
这样我的句柄方法 ( public Mono<Void> handle(ServerWebExchange serverWebExchange, Throwable throwable)) inGeneralExceptionHandler就会在出现诸如未找到请求的路径之类的错误时调用。
而且我还可以使用以下内容发送自定义 http 状态代码。
serverWebExchange.getResponse().setStatusCode(HttpStatus.INTERNAL_SERVER_ERROR);
但我不知道如何发送自定义 JSON 作为响应。
首先,这是处理 Spring webflux 中一般错误的正确方法吗?如果是,我该如何响应自定义 JSON 对象?
Spring BootErrorWebExceptionHandler为此目的提供了该接口;它WebExceptionHandler从 Spring Framework扩展了相当普遍的低级别。
使用WebExceptionHandler,您确实无法处理低级概念,因为它是一种通用的错误处理机制。
Spring Boot中自定义错误处理流程的方式有以下几种:
ErrorAttributesbean 并从提供给 HTML 视图或呈现为 JSON 的错误映射中添加/删除数据AbstractErrorWebExceptionHandler,它为您提供呈现 HTML/响应正文的所有构建块ErrorWebExceptionHandler,但你必须有类似的基础设施设置来呈现高级概念,例如视图或序列化响应主体| 归档时间: | 
 | 
| 查看次数: | 2543 次 | 
| 最近记录: |