use*_*913 5 scala playframework playframework-2.0
我正在寻找类似的东西
def proxy = Action.async { implicit req =>
//do something with req
val newRequest = req.map( r = r.path = "http://newurl");
forward(newRequest)
}
Run Code Online (Sandbox Code Playgroud)
我看到有一个redirect方法,但是只允许我传递请求参数,而不传递其他所有信息,标头等。
我希望内置一些东西,所以我不必自己构建。
Kri*_*ris -1
我不确定这是否满足您的要求,但是您是否研究过Play 的 WS。
该操作forwardTo获取一个 url,获取相应的页面并将其作为该请求的响应返回。它并不完全像 Spring 框架中的转发,但它为我完成了工作。
/**
* Like an internal redirect or an proxy. The URL in the browser doesn't
* change.
*/
public Promise<Result> forwardTo(String url) {
Promise<WS.Response> response = WS.url(url).get();
return response.map(new Function<WS.Response, Result>() {
public Result apply(WS.Response response) {
// Prevent browser from caching pages - this would be an
// security issue
response().setHeader("Cache-control", "no-cache, no-store");
return ok(response.getBody()).as("text/html");
}
});
}
Run Code Online (Sandbox Code Playgroud)
(我使用的是Play 2.2.3)
| 归档时间: |
|
| 查看次数: |
1598 次 |
| 最近记录: |