RESTlet重定向发送浏览器riap URI

时间:2013-09-13 18:38:10

标签: restlet

我正在使用RESTlet处理来自浏览器的PUT请求,并且在成功的PUT之后,我想将浏览器重定向到不同的网页。

看起来像标准的PUT-> REDIRECT-> GET给我,但我不知道如何在我的RESTlet资源中做到这一点。

这是我在PUT完成所要求的工作后的代码:

getResponse().redirectSeeOther("/account");

然而,这导致浏览器获得:

Response Headers
Location    riap://application/account

当然,“riap”协议对浏览器没有意义,“应用程序”不是服务器名称。似乎应该有一种方法可以将重定向发送回浏览器,而无需在我的redirectSeeOther()调用中构建整个URL。构建URL似乎容易出错。

是否有一种简单的方法可以重定向而无需从头开始构建整个网址?

谢谢!

此致

Stephen McCants

1 个答案:

答案 0 :(得分:1)

虽然我不是100%确定你正在尝试做什么类型的课程。

尝试:

Reference reference = getRequest().getRootRef().clone().addSegment("account");
redirectSeeOther(reference);

我通常也将身体设为

return new ReferenceList(Arrays.asList(reference)).getTextRepresentation();

但对所有客户来说可能不是必需的,或者根本不需要。我通常会在扩展ServerResource - Restlet(2.0.x或2.1.x)的类中使用此样式。