对于Java EE使用Restlet 2.1,我发现了一个处理属性的有趣问题。一个有趣的Restlet属性行为
假设你有一个像下面的代码:
cmp.getDefaultHost().attach("/testpath/{attr}",SomeServerResource.class);
,并在您的浏览器,您提供以下网址:
http://localhost:8100/testpath/command
然后,当然ATTR属性被设置为“命令” 。
不幸的是,假设你想要的属性是这样的命令/测试,如下面的网址:
http://localhost:8100/testpath/command/test
,或者如果你想动态添加的东西有不同的层次,如:
http://localhost:800/testpath/command/test/subsystems/network/security
在这两种情况下,attr属性仍然设置为“command”!
是否有一个的Restlet应用程序的一些方法,使可以保留“斜线”的属性,这样一方面可以,例如,使ATTR属性设置为“命令/测试”?我希望能够在testpath之后抓住所有东西,并将整个字符串作为属性。
这可能吗?有人请指教。
虽然这两种解决方案都有效,但我更喜欢你的解决方案,因为在用户可能需要输入URL的情况下,我不愿意使用前者。虽然这两种解决方案都很好。 –