【发布时间】:2020-07-19 04:20:24
【问题描述】:
我有以下来自数据库的路由配置
@Bean
public RouteLocator routeLocator(
final PathRoutePredicateFactory predicateFactory,
final RouteConfigDao routeConfigDao) {
return () -> routeConfigDao.findAll()
.map(routeConfig -> Route.async()
.asyncPredicate(predicateFactory.applyAsync(config -> config.setPatterns(of(routeConfig.getPath()))))
.id(routeConfig.getName())
.uri(routeConfig.getUrl())
// .filter(gatewayFilterSupplier())
.build());
}
所有代理服务都将返回常见的响应json,以防出现错误情况
{
"errorCode": "ASD-325",
"errorField": "Name"
}
在网关中,我需要拦截此错误响应并进行另一个 REST 调用以获取 errorCode 的错误消息并返回给客户端。
注意:我使用的是 Spring Webflux 和 R2DBC
【问题讨论】:
标签: spring-boot spring-cloud-gateway