request获取网页地址中的参数,以及response设置页面返回数据
public Object run() throws ZuulException {RequestContext currentContext = RequestContext.getCurrentContext();HttpServletRequest request = currentContext.getRequest();HttpS...
·
涉及到的包:
import com.netflix.zuul.context.RequestContext;
import javax.servlet.http.HttpServletRequest;
public Object run() throws ZuulException {
RequestContext currentContext = RequestContext.getCurrentContext();
HttpServletRequest request = currentContext.getRequest();
HttpServletResponse response = currentContext.getResponse();
String token = request.getParameter("token");//获取出发网关url地址中的token请求参数的值。模仿获取密码。http://localhost:15001/04userprovider-eureka/provider/user/1?token=1
if (Integer.valueOf(token)==1) {//测测试token这个参数等不等于1,等于1就通过,不等于1就走下面,不通过并且在页面输出老王:第一贱
currentContext.setSendZuulResponse(true);//true意味着放行。
return null;
} else {
response.setContentType("text/html;charset=utf-8");
currentContext.setResponseBody("老王:第一贱");
System.err.println("前置过滤器first执行了");
//拦截请求,拦截请求不会影响后面的过滤器的执行
currentContext.setSendZuulResponse(false);//false意味着不放行。其实就是向map中存放了一个值为false。这里设置的false也就导致SecondFilter、ThirdFilter中的shouldFilter方法接受的值为false,也就是这两个过滤器都不执行
return null;
}
// return null;//要如果上面不写,统一写在这里会包空指针,不知道为啥。这里好像没什么实际意义。。。。。。。。null就代表不放行,页面返回的数据就是这里设置的
}

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)