java重定向设置header_java – 重定向时将标题添加到Zuul
我正在嘗試使用Zuul將調用重定向到其他地方的下游系統.
在重定向中,我需要添加一個Header,其中包含接收重定向進行處理的api所需的數據.我似乎無法讓下游系統檢測到這些數據.附上是我的代碼.
我正在使用Edgware.SR3中的Zuul,
Spring Boot 1.5.12
Zuul過濾器
@Component
public class RouteFilter extends ZuulFilter{
@Override
public Object run() {
//Testing to add header
context.getRequest().getParameterMap().put("api", new String[]{"api"});
context.getResponse().setHeader("api", api);
context.addZuulResponseHeader("api", "api");
context.addZuulRequestHeader("api", "api");
context.setSendZuulResponse(false);
context.put(FORWARD_TO_KEY, redirect_urls.get(key));
context.setResponseStatusCode(HttpStatus.SC_TEMPORARY_REDIRECT);
context.getResponse().sendRedirect(redirect_urls.get(key));
return null;
}
}
重定向的服務代碼
@RequestMapping(value = "/forward")
public ResponseEntity forwardToMe(@RequestHeader(required = true, name = "api")String api){
return new ResponseEntity("Hi",HttpStatus.OK);
}
郵遞員收到錯誤
{
“timestamp”: 1524737817729,
“status”: 400,
“error”: “Bad Request”,
“exception”: “org.springframework.web.bind.ServletRequestBindingException”,
“message”: “Missing request header ‘api’ for method parameter of type String”,
“path”: “/forward” }
最佳答案 我猜你使用路由過濾器,也許你可以嘗試使用預過濾器.
可以使用以下內容添加自定義標頭:context.addZuulRequestHeader(“授權”,“基本”憑據);.
對于重定向部分,您可以查看此thread
總結
以上是生活随笔為你收集整理的java重定向设置header_java – 重定向时将标题添加到Zuul的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 湘江长沙段出现大量鱼群:漫江碧透 鱼翔浅
- 下一篇: 旅英熊猫听见四川话愣住 甜甜:突然就有了