Spring Cloud Zuul 实现路由,Filter具体应用

Spring Cloud Zuul作为网关,可实现请求验证过滤,路由到具体服务的作用。

FilterChain先后顺序如下:

PreFilter验证请求信息;

RouteFilter控制路由逻辑;

PostFilter调用后台逻辑后,返回报文处理;

ErrorFilter错误处理。

举例:

比如请求订单接口,报文包括验证信息及具体请求参数。

通过配置路由到具体接口,通过参数调用接口,返回具体报文。

参数传递:

1、post请求,String类型json

2、接口获取@ResponseBody,将获取到String转json,再获取详细参数信息

3、RequestContext在过滤链中共享的,之前的参数可以获取RequestContext的HttpServletRequest,

setAttribute传递参数,之后filter通过getAttribute接受。

4、request、response在RequestContext都是以流形式存在,需InputStream转String。

5、PostFilter获取返回报文,可通过getResponseBody()获取处理。

验证:继承ZuulFilter类,重写run方法,调用具体验证服务,验证通过返回true。

posted @ 2017-12-02 11:01  川雨淅  阅读(3249)  评论(0编辑  收藏  举报