Jersey:显示资源上可能的操作

时间:2014-03-04 20:17:22

标签: java rest jersey

我正在使用Jersey实现的JAX-RS规范来开发RESTful Web服务。有一个可以唯一标识资源的URL。有没有办法让我们知道RESTful服务的用户,可以对资源执行哪些操作?例如,

资源名称 - host1

http://localhost:8080/state-fetcher/rest/object/host1/actions

这应该给我可以对资源执行的所有可能操作 - {actions:[GET,POST,DELETE]}

谢谢!

2 个答案:

答案 0 :(得分:0)

在资源上使用OPTIONS HTTP方法。您将在Allow标头中获取允许的方法,例如:Allow: GET, HEAD, PUT,在有效负载中,您将找到与指定资源相关联的wadl片段。

答案 1 :(得分:0)

RESTful服务本身意味着自我描述!如果用户执行请求,则REST服务应发回可能的链接列表,这些链接可以与响应一起执行。这是RESTful服务的动机和一般概念。如果您提供图形WebClient,则只需提供初始链接(例如http:\ example.com \ restful),响应将返回一个有效链接列表,这些链接只需要在GUI中可视化。通常,Web服务仅提供可根据用户角色访问的那些链接。 (这不是安全功能!!!它只是防止显示不必要的链接)否则HTTP协议的OPTION方法提供有关支持的协议方法的信息。