目录

配置文件 application.yml

eureka:
client:
service-url:
defaultZone: http://localhost:8001/eureka
server:
port:
spring:
application:
name: zuul
##配置zuul网关
zuul:
routes:
api-a:
path: /member-zuul/**
service-id: memeber-service
api-b:
path: /order-zuul/**
service-id: order-service

MyZuulFilter类

package com.cloud.filter;

import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import com.netflix.zuul.exception.ZuulException;
import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@Component
public class MyZuulFilter extends ZuulFilter {
/**
* 过滤类型
* @return
*/
@Override
public String filterType() {
return "pre";
} /**
* 请求过滤顺序
* @return
*/
@Override
public int filterOrder() {
return 0;
} /**
*
* @return
*/
@Override
public boolean shouldFilter() {
return true;
} @Override
public Object run() throws ZuulException {
//获取token参数
RequestContext rc = RequestContext.getCurrentContext();
HttpServletRequest request = rc.getRequest(); String token = request.getParameter("token");
if(token!=null){
return null;
}
//表示不进行路由
rc.setSendZuulResponse(false);
rc.setResponseStatusCode(401); try {
rc.getResponse().setContentType("text/html;charset=utf-8");
rc.getResponse().getWriter().write("没有传递正确参数,请校验后重试~");
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}

启动类

package com.cloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @EnableEurekaClient @SpringBootApplication @EnableZuulProxy public class StartZuul { public static void main(String[] args) { SpringApplication.run(StartZuul.class,args); } }

效果

1、

2、

最新文章

  1. [Storm] Storm与asm的恩恩怨怨
  2. DSY3163*Eden的新背包问题
  3. TSQL 聚合函数忽略NULL值
  4. java中的程序流程控制
  5. SharePoint 2013 使用 PowerShell 更新用户
  6. 【Win10】解决 模拟器调试手机 错误-> 引导阶段... 无法找到指定路径......\2052\msdbgui.dll
  7. 在DataTable中执行DataTable.Select("条件")返回DataTable;
  8. iOS验证码倒计时(GCD实现)
  9. Unit testing Cmockery 简单使用
  10. 【转】Android4.4 之Bluetooth整理
  11. WCF服务
  12. 「OC」类的深入研究、description方法和sel
  13. PHP 两张图片合成一张图片(加水印)
  14. java将word文件转为pdf
  15. 如何卸载EXCEL中的插件?
  16. 关于 web 页面 占满全屏
  17. zabbix系列(三)zabbix3.0.4微信告警配置详解
  18. Red Hat OpenShift
  19. AFNetWorking 上传功能使用及源码分析
  20. HDU 4651 数论 partition 求自然数的拆分数

热门文章

  1. error adding symbols:DSO missing from command line
  2. Google Colab——零成本玩转深度学习
  3. Python开发【源码剖析】 Dict对象
  4. vue SPA设计 history hash
  5. 用python读取word文件里的表格信息【华为云技术分享】
  6. Teamviewer显示“未就绪,请检查您的连接”解决办法
  7. Dijkstra堆优化+邻接表
  8. aria2 cmd set chmod, and others..
  9. Mock、Powermock使用汇总
  10. PHP java时间戳转php时间戳