0

我正在使用Restlet制作一个 RESTful 平台。我以前没用过,但我决定用2.0,因为最好从最新最好的技术入手,对吧?

我正在寻找的关键是能够让某人输入一个类似的 URLhttp://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()自己使用和解析它,但这绝对是错误的做法,而且似乎应该有一种简单的方法来做到这一点(类似于以前版本的工作方式)。

4

2 回答 2

2

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

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

我似乎找不到这种行为的记录,而且看起来很奇怪,但它确实解决了我的问题。

于 2010-07-15T02:51:39.090 回答
0

您可以像使用 1.1 一样使用 2.0 来执行此操作。

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

Restlet很棒,顺便说一句。

于 2010-07-11T13:53:45.293 回答