2014-06-06 49 views
0

我在项目中使用了spring和restlet。Restlet中的资源发现

我试图实现自动资源发现。如果用户发出这样的获取请求,则响应应该链接到子资源,如下所示。



请求:

GET

http://<host>:<port>/root/ 

响应:

http://<host>:<port>/root/v1 

http://<host>:<port>/root/v2 

http://<host>:<port>/root/v3 



请求:

GET

http://<host>:<port>/root/v1 

响应:

http://<host>:<port>/root/v1/resource1 

http://<host>:<port>/root/v1/resource2 

http://<host>:<port>/root/v1/resource3 

等。

我探索restlet Java文档,但找不到自动资源发现的任何功能。

我现在可以想到的其他选项是将每个级别创建为端点并将链接返回给子资源,但我不确定这是否是正确的方法。

restlet中有这样的功能吗?如果不是,restlet中的其他选项可用于实现此功能吗?

谢谢。

回答

0

您可以查看org.restlet.ext.wadl或org.restlet.ext.apispark(仅限于主分支)扩展的代码。 这个想法是从应用程序“getInboundRoot”Restlet开始的。以递归的方式,检测它是否是过滤器(在这种情况下,分析过滤器#getnext()“restlet),如果它是一个路由器,通过路由器循环#getRoutes并分析目标Restlet。如果是” Finder“实例这实际上意味着附加了一个ServerResource,如果没有,这是一个纯的Restlet,它可以处理所有的请求

+0

谢谢你的见解。 –