覆盖 Zuul 过滤器 SendErrorFilter

Overriding Zuul Filter SendErrorFilter

class org.springframework.cloud.netflix.zuul.filters.post.SendErrorFilter 处理错误响应。

我想覆盖此过滤器以在转发等时执行自定义响应而不是 ZuulException

如何用我自己的版本替换它? 只是写和注册?会这样做还是需要其他东西?

您需要做的就是创建一个 ZuulFilter 并将其公开为 @Bean。它需要在设置为 0SendErrorFilter 之前按顺序排列。您可能需要从 RequestContext 中删除 "error.status_code",这样 SendErrorFilter 就不会 运行.

您需要将 zuul.SendErrorFilter.post.disable: true 添加到您的 application.properties 以禁用默认 SendErrorFilter。在此之后,您可以创建自己的。

属性 名称更改为“zuul.SendErrorFilter.error.disable