在启动类,使用@Bean生效自定义过滤器。
@Bean @ConditionalOnProperty(name="zuul.SendErrorFilter.error.disable") public CustomErrorFilter customErrorFilter() { return new CustomErrorFilter(); }重启应用,访问::8889/myapi/hello?name=oKong&token=okong ,可以看见已经是按自定义返回值返回了。
另外注意的是,前面也有提到,当访问不存在的路径或者转发路径时,依旧是普通的异常,可通过统一异常进行拦截,返回值拼装的。
参考资料https://github.com/Netflix/zuul/wiki/How-it-Works
总结本章节主要介绍了关于Zuul过滤器和相关异常处理的相关知识点。可能还是存在不完整的情况,大家在遇见相关问题时,可查阅下官方文档的。Zuul本身还有一些其他的高级功能的,本人也用的不多,相关配置也是看了官方文档时才知道如何配置和使用的。所以,不知道相关配置时,可以去查阅下相关文档,比如一些忽略头部信息、忽略服务等等配置,都未涉及。主要还是用的不多。。原来我们都是自建一个restful服务进行统一网关调用的,当频繁修改api时此方法就有点麻烦需要多次变动了。主要看业务需求吧,这东西可大可小的。最简单当然创建个简单的web就行了,而当需要实现一些高级功能,比如灰度发布,动态引流时可能就需要考虑下使用Zuul或者gateway。有时间去看看gateway,据说性能好呀。关于网关的暂时就告一段落了,接下来会分享一些服务之间调用异常处理的,敬请期待~
最后目前互联网上大佬都有分享SpringCloud系列教程,内容可能会类似,望多多包涵了。原创不易,码字不易,还希望大家多多支持。若文中有错误之处,还望提出,谢谢。
老生常谈个人QQ:499452441
微信公众号:lqdevOps
个人博客:
源码示例:https://github.com/xie19900123/spring-cloud-learning