spring cloud zuul修改請求url的方法
更新時間:2017年09月11日 14:59:19 作者:xixicat
這篇文章主要給大家介紹了關于spring cloud zuul修改請求url的方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring cloud具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
前言
在日常開發(fā)中,除了修改請求參數、設置響應header,響應body外,還有一種需求就是url重新,或者是修改url,這里簡述一下怎么在zuul修改url。話不多說了,來一起看看詳細的介紹吧。
轉發(fā)配置
demo: ribbon: NIWSServerListClassName: com.netflix.loadbalancer.ConfigurationBasedServerList listOfServers: 192.168.99.100,192.168.99.101 zuul: routes: demo: path: /demo/** stripPrefix: true serviceId: demo
filter配置
@Component
public class UrlPathFilter extends ZuulFilter{
@Override
public String filterType() {
return FilterConstants.PRE_TYPE;
}
@Override
public int filterOrder() {
return FilterConstants.PRE_DECORATION_FILTER_ORDER + 1;
}
@Override
public boolean shouldFilter() {
final String serviceId = (String) RequestContext.getCurrentContext().get("proxy");
return "demo".equals(serviceId);
}
@Override
public Object run() {
RequestContext context = RequestContext.getCurrentContext();
Object originalRequestPath = context.get(FilterConstants.REQUEST_URI_KEY);
//http://localhost:10000/demo/list/data
//-->/api/prefix/list/data
String modifiedRequestPath = "/api/prefix" + originalRequestPath;
context.put(FilterConstants.REQUEST_URI_KEY, modifiedRequestPath);
return null;
}
}
這樣就大功告成了
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
doc
Dynamically re-route all Zuul proxied requests to single URL
相關文章
SpringbootJPA分頁 PageRequest過時的替代方法
這篇文章主要介紹了SpringbootJPA分頁 PageRequest過時的替代方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
Springboot ApplicationRunner的使用解讀
這篇文章主要介紹了Springboot ApplicationRunner的使用解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
SpringBoot自定義Starter與自動配置實現方法詳解
在Spring Boot官網為了簡化我們的開發(fā),已經提供了非常多場景的Starter來為我們使用,即便如此,也無法全面的滿足我們實際工作中的開發(fā)場景,這時我們就需要自定義實現定制化的Starter2023-02-02

