这里仍然以Windows和jdk为运行环境,按照下面的步骤打包-运行-访问就能看到效果。启动项目jar包:
java -jar F:\jars-zuul\register-0.0.1-SNAPSHOT.jar
java -jar F:\jars-zuul\zuul-0.0.1-SNAPSHOT.jar
java -jar F:\jars-zuul\notes-0.0.1-SNAPSHOT.jar --server.port=9001
java -jar F:\jars-zuul\notes-0.0.1-SNAPSHOT.jar --server.port=9002
zuul网关配置文件配置如下内容,并在启动类加注解@EnableZuulProxy:
#取名api-a映射一个应用#取名api-a映射一个服务
server.port=3333
zuul.routes.api-a.path=/api-a/**
zuul.routes.api-a.service-id=notes
zuul过滤器对输入的内容做了如下过滤处理:
@Override
public Object run(){
HttpServletRequest request = RequestContext.getCurrentContext().getRequest();
String string = request.getParameter("notes");
if(string != null && string.contains("中国")){
HttpServletResponse response = RequestContext.getCurrentContext().getResponse();
try {
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(response.getOutputStream());
outputStreamWriter.write("forbidden words!");
outputStreamWriter.flush();
outputStreamWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return string;
}
新建spring boot项目(提供关于用户评论的接口),zuul实现了对notes服务的统一访问,访问地址:
http://localhost:3333/notes?notes=中国,厉害了我的国。页面将返回过滤后的内容“forbidden words!”。
源码地址:https://github.com/zhzhair/spring-cloud-zuul.git。
相关文章
- 07-28服务网关ZuulFilter过滤器--pre/post/error的用法(校验和获取路由后的请求/响应信息,处理服务网关异常)
- 07-2833 Spring Cloud Zuul过滤器介绍及使用(传递数据、拦截请求和异常处理)
- 07-28服务网关zuul之二:过滤器--请求过滤执行过程(源码分析)
- 07-28(34)java Spring Cloud+Spring boot+mybatis企业快速开发架构之SpringCloud-Zuul过滤器介绍及使用(传递数据、拦截请求和异常处理)
- 07-28spring cloud--zuul网关和zuul请求过滤
- 07-28springCloud(15):使用Zuul构建微服务网关-Header与文件上传和过滤器
- 07-28Spring Cloud(九)《服务网关Zuul 动态路由与权限过滤器》
- 07-28SpringCloud学习系列之七 ----- Zuul路由网关的过滤器和异常处理