【问题标题】:JAX-RS: Resolve URI of Linked Resources on the ServerJAX-RS:解析服务器上链接资源的 URI
【发布时间】:2010-12-01 13:51:03
【问题描述】:

是否有一种标准方法 (JAX-RS) 可以将 REST URI 解析为服务器端的资源?据我了解常见做法,最好提供完整的 URI 作为资源的标识符。如果我想允许某人发布/放置这样的文档来创建/更改产品:

<product>
    [...]
    <categories>
        <category>http://.../rest/categories/12</category>
        <category>http://.../rest/categories/35</category>
    </categories>
</product>

如您所见,对类别的引用是它们的资源 URI。在服务器端,我现在必须将这些 URI 解析为相应的资源。最简单的方法是在服务器本身上为服务创建一个客户端,并对这些 URI 执行标准 GET 请求。但我觉得这不应该是必要的。

有没有标准的方法来做到这一点?有没有一种 CXF 方法可以做到这一点?总是提供一个额外的 id 会更好吗?

谢谢。

多米尼克

【问题讨论】:

    标签: java rest cxf jax-rs


    【解决方案1】:

    我认为您正在寻找 - http://jersey.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/core/ResourceContext.html

    它不是来自 CXF 或 JAX-RS,而是来自 Jersey。我用它来解析文档,就像你的例子一样。

    使用@Context 将其注入到您的资源中以使用它。

    【讨论】:

    • 感谢您的回答。这正是我正在寻找的。不幸的是,我不能使用泽西岛。我看到标准中有一个方法 UriInfo.getMatchedResources() 。这会有帮助吗?如何创建新的 UriInfo 实例?
    • 抱歉没有注意到之前的评论。 @Context UriInfo 会将 UriInfo 的当前实例 DI 到资源中,我不确定 getMatchedResources() 方法的行为,之前没有使用过。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多