在Restlet 2.0中获取请求属性

时间:2010-07-10 03:38:28

标签: java rest restlet-2.0

我正在使用Restlet制作RESTful平台。我之前没有使用它,但我决定使用2.0,因为最好从最新最好的技术开始,对吧?

我正在寻找的关键是能够让某人放入像http://mysite/New%20York/3这样的网址并让服务响应[New York,New York,New York]这样的内容,所以我需要传递请求属性。使用这篇文章Restlet 1.1(因为我似乎无法在Restlet网站上找到任何文档),我就这样连接了我的应用程序:

router.attach("{text}/{count}", RepeaterResource.class);

执行此操作的新方法显然位于UniformResource#doInit()方法中,因此我看起来像(没有错误检查):

@Override
public void doInit()
{
    magicText = "" + getRequestAttributes().get("text");
    repeatAmount = Integer.parseInt("" + getRequestAttributes().get("count"));
}

问题是从Map<String, Object>返回的getRequestAttributes()始终是空的!这似乎很奇怪。我的布线错误吗?

当然,我可以使用getQuery()并自己解析,但这绝对是错误的做法,似乎应该有一个简单的方法来做到这一点(类似于以前的版本工作)。

2 个答案:

答案 0 :(得分:2)

我的问题似乎是路由器附件必须以/字符开头。我应该像这样依恋:

router.attach("/{text}/{count}", RepeaterResource.class);

我似乎无法找到这种记录的行为,这似乎很奇怪,但它确实解决了我的问题。

答案 1 :(得分:0)

您可以使用与1.1相同的方式执行此操作。

参见教程,第11部分:http://www.restlet.org/documentation/2.0/tutorial#part11

Restlet很棒,BTW。