引依賴
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
添加注解
@EnableZuulProxy(該注解已包括服務注冊及斷路)
springboot多域名重定向,路由配置
#應用名
spring.application.name=gateway
#端口
server.port=9103
#忽略服務,(除使用routes.users=/a/**明確配置的服務之外)
zuul.ignoredServices=*#配置服務路由的兩種方式
one:
zuul.routes.service-a.path=/service-a/** #服務位置
zuul.routes.service-a.serviceId=service-a #two:
zuul.routes.<serviceId>=<path> #直接給服務配地址
通過路由過濾請求
public class DefFilter extends ZuulFilter{/*** 通過filterType * filterOrder 過濾器的執行順序。當請求在一個階段中存在多個過濾器時,需要根據該方法返回的值來依次執行* shouldFilter 判斷該過濾器是否需要被執行。這里我們直接返回true,因此該過濾器對所有請求都會生效,實際運用中我們可以利用該函數來指定過濾器的有效范圍* run 主體。可通過reqCtx.setSendZuulResponse(false)令zuul過濾該請求,不對該請求進行路由,可通過reqCtx.setResponseStatusCode(xxx)設置響應碼(200/201/302/400/401/500...),通過reqCtx.setResponseBody(body)響應具體數據。* */@Overridepublic String filterType() {return "pre";}@Overridepublic int filterOrder() {return 0;}@Overridepublic boolean shouldFilter() {return true;}@Overridepublic Object run() {RequestContext reqCtx= RequestContext.getCurrentContext();HttpServletRequest req=reqCtx.getRequest();//獲取數據并進行條件過濾return null;}
}
getway都可以做什么?
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态