Spring 云网关从路由回退 404 状态代码



我想在任何路由返回 404 HTTP 代码时进行回退。原因是,如果未找到资源,路由应尝试从回退 Uri 获取该资源。

以下是我的 .yml 定义。我试图实现的是,如果弹性搜索没有找到我的记录并返回 404。在回退(即数据库(中搜索。但是在这种情况下,我从网关获得404。有什么办法可以做到这一点。?

spring:
application:
name: gateway
sleuth:
sampler:
probability: 1.0
cloud:
gateway:
discovery:
locator:
enabled: true
- id: search_route
uri: lb://ELASTIC_SEARCH_SERVICE
predicates:
- Path=/unison/search/**
filters:
- name: Hystrix
args:
name: fallbackCommand
fallbackUri: forward:/search/rdbms

您必须使用此使网关知道尤里卡服务器

eureka.client.service-url.defaultZone=http://user:pass@localhost:8761/eureka

然后阻止网关本身注册到 eureka

eureka.client.register-with-eureka=false

第二个选项很重要,因为它在使用 lb:servicename 结构进行负载平衡时会导致 404 错误。

相关内容

  • 没有找到相关文章

最新更新