问题标签 [jersey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1952 浏览

transactions - 按请求交易和泽西岛

我想结合 Jersey 资源来实现每个请求的事务。我的意思是我想要一个管理交易的地方,比如:

过去,我用 Servlet 过滤器做过类似的事情,但这在 Jersey 中行不通。在 Jersey 中,在 web 容器过滤器重新获得控制权之前,异常被拦截并转换为 500 长。我想我可以坚持使用过滤器方法,并检查响应代码,但这不是很吸引人。我已经看到了一些关于此的 对话,但我一直无法使用 ResourceFilter、CloseableService 或 ServletContainer 等提出可靠的方法。到目前为止,我糟糕的解决方案是实现自定义 ExceptionMapper 并执行回滚那里。有没有人干净地解决了这个问题?

免责声明 - 这个项目目前不使用 Spring,所以对于这个小用例,我宁愿避免使用它。

0 投票
11 回答
32276 浏览

java - 使用 Jersey 和 Guice 进行 RESTful 服务的实用建议

从我在网上可以找到的信息来看,Guice + Jersey 整合的最新技术自 2008 年以来一直停滞不前,当时两支球队似乎都陷入了僵局。问题的症结在于 JAX-RS 注释执行字段和方法注入,这与 Guice 自己的依赖注入不能很好地配合。

我发现的几个例子还不足以说明:

  • Iqbalyusuf在 Google App Engine Java 上的 Jersey + Guice 上的帖子受到大量样板文件的影响(手动获取和调用注入器)。我希望绑定和注入应该通过 Guice 注释在幕后进行。

  • Jonathan Curran 的文章使用 Jersey、Guice 和 JSR-250 创建一个 RESTful 服务给了我希望,因为它更新的更多(2010 年),但仅仅展示了如何在 Guice ServletModule 中启动 Jersey 服务。但是,没有任何真正的依赖注入的例子。我想这留给读者作为练习。Curran 的帖子实际上可能是连接 Guice 和 Jersey 的正确第一步,所以我计划从那开始。

  • 诱人的詹姆斯斯特拉坎写道

    JAX-RS 与 Spring、Guice、GuiceyFruit 或 JBossMC 等依赖注入框架配合得很好——你基本上可以选择你喜欢的任何一个。

    但是从从业者的角度来看,我没有看到任何证据是真实的。

我发现缺少的是关于如何结合 JAX-RS 和 Guice 注释的实际示例和解释。例如:

  • 我相信我不能对任何资源使用构造函数注入,因为 Jersey 想要控制它
  • 我不确定是否可以将@Inject 与@PathParam、@QueryParam 等结合使用。
  • 如何在 MessageBodyWriter 实现中使用注入

有没有人有例子,最好是有来源,结合泽西岛和吉斯而不牺牲其中一个或另一个的非平凡应用程序?不管怎样,我都会继续走这条路,但泽西和吉斯名单上的点点滴滴让我觉得我在重复其他人的工作。

0 投票
2 回答
3297 浏览

java - 在泽西岛覆盖@Path

我一直在尝试制作一个 Jersey 应用程序,该应用程序从路径中获取以下结构:

示例 1(http:// 由于 stackoverflow 限制而省略)example.com/source/{source-id}/example.com/source/

使用代码(省略错误处理和不需要的代码):

带代码(总结):

它工作正常。

示例 2:example.com/data/{source-id}/{info-id}/example.com/data/{source-id}/

使用代码(省略错误处理和不需要的代码):

在示例 2 中,我可以访问类似 example.com/data/111/222/ 的 URL,但尝试获取 hexample.com/data/111/ 时会出现 405 错误代码(不允许使用方法)。我还尝试制作一个完整的方法来检查 {data-id} 是否为空或空白,在这种情况下,像第一种方法一样处理请愿书,但也不起作用。

任何的想法?

谢谢!

0 投票
5 回答
63343 浏览

java - Java REST 实现:Jersey vs CXF

您认为这两个库之间的优缺点是什么?这两个哪个最适合生产环境?顺便说一下,我将使用 JSON 而不是 XML。

我还想知道社区最支持哪个库,例如教程、文档。

0 投票
1 回答
866 浏览

hibernate - jersey restful + grizzly server + hibernate

我可以把球衣+灰熊服务器带起来。但是在“SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory;”期间出现了一些问题 错误说“严重:服务异常:org.hibernate.HibernateException:/hibernate.cfg.xml 未找到

.. 任何知道如何使休眠的人都可以访问 hibernate.cfg.xml 位置。

0 投票
1 回答
8605 浏览

java - 除了 @Produces 注释之外,Jersey (JAX-RS) 如何知道将 POJO 视为特定的 mime 类型?

我看到很多关于泽西岛的例子,看起来像这样:

但后来我无法剖析 Item,以及 Jersey 如何知道如何将 Item 转换为 XML 或 JSON。我见过非常基本的示例,它们只返回构造的 HTML 或 XML 的字符串,这对我来说更有意义,但我错过了下一步。我查看了样本,其中一个很突出(json-from-jaxb 样本),因为该对象标有以下类型的注释:

我正在寻找逐步介绍此“翻译”的教程,或者在此处解释如何将 POJO 翻译为特定 mime 类型的输出。谢谢!

0 投票
2 回答
5439 浏览

java - 何时在 Jersey 资源中使用 @Singleton

我有一个访问数据库的 Jersey 资源。基本上它在资源的初始化中打开一个数据库连接。对资源的方法执行查询。

我观察到,当我不使用@Singleton 时,每次请求都会打开数据库。而且我们知道打开连接真的很昂贵,对吧?

所以我的问题是,我应该指定资源是单例的,还是根据请求保留它真的更好,尤其是在资源连接到数据库时?

我的资源代码如下所示:

我使用类似于以下的代码连接到数据库:

对代码最佳实践的一些评论也会有所帮助。

0 投票
2 回答
8401 浏览

java - RESTfull API(java jersery)的认证和授权

使用 tinyurl 或 bit.ly 实现类似的服务,我想将服务公开为 API,我使用 java 和 jersey 作为 RESTfull 服务实现。

我正在寻找最简单的方法来验证使用 API 的用户,首先想到的是 OAuth,但问题是我不需要带有请求令牌查询的这 3 次迭代调用,而不是带有回调 url 传递的访问令牌查询。我只需要让用户能够调用 api 而无需对我的服务器进行额外的安全调用。

0 投票
2 回答
3378 浏览

java - Java Jersey RESTful 服务

对 REST 和 Jersey 来说相当新,我正在尝试一些基本示例。我有一个特别的问题,我还没有真正找到答案(真的不知道如何寻找这个):你将如何存储/定义公共服务,以便它们是有状态的和可访问的到所有/一些资源?

例如,一个记录器实例(Log4J 或其他)。我是否必须手动初始化它并将其存储在 HttpSession 中?是否有这样做的“最佳实践”方式,以便我的记录器可以访问所有/某些资源?

0 投票
1 回答
2603 浏览

java - 泽西岛 (Jax-RS) & EL

我试图让控制器通过表达式语言过滤器返回视图,但不知道如何让球衣使用 EL 过滤视图。

使用 EL 标签查看:

控制器:

为了让控制器用某个任意值替换视图中的 ${msg} 部分,将如何进行?