问题标签 [jersey-2.0]
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.
java - 将特定约束验证器映射到 Jersey 中的特定 ContraintViolationException
我正在尝试创建一个自定义验证器并将其映射到特定的 constraintViolationException。原因是我想为不同的约束创建不同的自定义异常。例如,如果在数据库中没有找到用户,则会触发 not found violationException ,而如果用户的用户名无效,则会执行错误的响应 violationException 。
映射到
更具体地说,问题是 bean hibernate 验证器是否支持多个约束异常映射器。
java - 泽西 2.4 和 CXF 2.6
我已经实现了与 Jersey 2.4 的 API 集成,但是在尝试启动我的 tomcat 时遇到了问题
也许在使用 UriBuilder 时存在冲突,它在 javax.ws.rs.core 和 org.apache.cxf.jaxrs.impl 中的 UriBuilderImpl 中引用。如果我将 WEB-INF\lib 中的 cxf-2.6.0.jar 重命名为 zxf-2.6.0.jar(最后加载),一切正常。
我怎样才能以优雅的方式解决这个问题?
java - 如何在 HK2 中为服务创建代理
我正在使用 Jersey 2.x 和内置于 Jersey 中的 HK2。我需要在我的服务中装饰一些由注释标记的方法,即我想在这些方法调用之前和之后执行一些额外的操作。不幸的是,HK2 没有任何 AOP 功能。我认为我可以将我的工厂绑定到服务的接口,并在provide
调用工厂的方法时创建服务的代理。但是,我的工厂需要做几件事才能工作:
1)服务的类和接口创建代理
2)ServiceLocator
实例正确注入所有服务的依赖项
而且我只是看不出有什么办法可以两者兼得。如果我使用绑定工厂,bindFactory(MyFactory.class)
那么我无法将有关服务的信息传递给它,但可以将 ServiceLocator 实例注入其中。如果我使用绑定工厂,bindFactory(new MyFactory(Service.class, ServiceImpl.class))
那么我有关于服务的信息,但我没有ServiceLocator
实例来正确创建该服务,因为 HK2 没有向工厂实例注入任何东西,而且我也看不到从中获取 ServiceLocator 实例AbstractBinder 在绑定期间为我的工厂提供定位器。
我真的很感激任何建议和建议。我希望我不是第一个想要统一代理我的服务的人。
jackson - 我可以将 Glassfish 4 与 Jackson 2.x 一起使用吗?
我正在为使用 Jersey 2 的 Glassfish 4.0 开发应用程序。我想使用 Jackson 作为 Jersey 的 JSON 提供程序。
我在 Glassfish 中更新了 Jersey 版本,这有助于解决 CDI 问题。
理想情况下,我想使用 Jackson 的更新(fasterxml)版本。
目前,我已将应用程序配置为使用 Glassfish (codehaus) 提供的 Jackson 版本。
所以,我知道如何将 Glassfish 4 与提供的 Jersey 和 Jackson 一起使用。我也知道如何配置最新的 Jersey 以在独立的 Jersey 应用程序中使用最新的 Jackson。
但是,我无法使用最新版本的 Jersey 和 Jackson 在 Glassfish 4.0 中部署和运行应用程序。我尝试添加 Maven 依赖项,但没有成功。我怀疑 Glassfish 以某种方式使用它自己的版本,然后与来自 maven 的版本冲突。
这应该工作吗?我的意思是,应用程序是否应该能够提供自己的 Jersey 和 Jackson 版本并让 Glassfish 使用它们?我问是因为我知道 Glassfish 4 中的一些错误可能是我的问题的原因。
rest - Jboss 5,Jersey 2.4,压缩的 .war 文件不起作用
我正在使用以下技术开发一些 RESTful Web 服务
到目前为止,我已经使用eclipse构建了war文件,有分解版和压缩版。我已将文件一次复制到一个,{jboss-home}/server/web/deploy
并使用命令行通过运行run.bat -c web
. 在这两种情况下,服务器都没有错误地启动,并且日志文件是相同的。(不包括时间戳)
当我部署展开的 war 文件然后导航到 urlhttp://mydomain.com:8080/{app}/rest/application.wadl
时,jersey 正确识别了带注释的资源,我可以按预期使用它们。
球衣注释
application.wadl(动态生成)
但是,当我部署压缩的 .war 文件并导航到同一个 urlhttp://mydomain.com:8080/{app}/rest/application.wadl
时,它找不到带注释的资源,当我点击预期的 url 时,jboss 返回 404 - NOT FOUND。
最后,我使用 winRAR 将压缩后的 war 文件的内容提取到一个文件夹中,然后使用 Beyond Compare 将原始爆炸战争与刚刚提取的上下文进行文件夹比较,它们是相同的。
这让我相信 jboss 如何部署爆炸战争与压缩战争文件有一些独特之处,但我不明白这可能是什么或为什么它会这样。任何人都可以帮助或指出我的新方向吗?
虽然一个简单的响应可能没问题,只需部署分解的 war 文件,我想了解为什么会发生这种情况并继续使用我现有的 build.xml 生成压缩的 .war 文件。
java - Tomcat 中的 Jersey 日志记录请求正文
我在获取球衣记录的请求正文 xml/json 时遇到问题。我已经添加了
在 web.xml 中。我看到如下
但不是请求正文
jersey-2.0 - 何时关闭球衣 SSE EventSource?
Jersey 为 SSE EventSoruce提供了 java API 。但不清楚客户端何时应该关闭它 - 当服务器关闭连接时,客户端如何得到通知?有没有人这样做过?
spring - jersey-spring3 实例化 Spring 管理的 bean (null!)
我首先要指出的是,总的来说,这是我职业生涯中处理过的最大的时间浪费问题。(现在连续两天基本上是 0 进度。)我尝试的每一个“解决方法”或“解决方案”都没有奏效,所以我被阻止并且非常渴望得到一些帮助。
简而言之,问题是 Jersey/HK2 似乎总是在 Spring 实例化我的 Spring 管理的 bean 之后实例化它们,这告诉我jersey-spring3没有完成它的工作,或者至少在我当前的设置中没有(或迄今为止我尝试过的约 50 种设置排列中的任何一种。)
请注意,当我使用空构造函数时,这些资源字段在运行时为空。
我不明白为什么我当前的设置不起作用,因为我实际上是在复制这个在线示例
任何帮助都非常感谢!
配置
- - - - - pom.xml - - - - -
- - - - - web.xml - - - - -
- - - - - beans.xml (上下文配置) - - - - -
- - - - - beans-api.xml - - - - -
代码
- - - - - 资源 (JAX-RS) - - - - -
- - - - - 服务(Spring Bean) - - - - -
(与第 2 版基本相同)
- - - - - 申请(球衣) - - - - -
调用(客户端)
(500内部服务器错误)
错误(服务器)
API 日志
更新——发现这个:
卡特琳娜原木
...所以在SpringComponentProvider#initialize中找不到 ApplicationContext 。
java - Grizzly 嵌入式服务器 + Jersey 服务 + Servlet 过滤器
以下代码运行我的 REST 服务,但我的 servlet 过滤器永远不会被调用。有任何想法吗?
java - Jersey 2 getLinks() 尽管链接在资源中,但返回空集
编辑较短的版本
好的,所以看着我自己的帖子,我意识到这可能不是读起来最短的东西,所以我想我会写一个更简洁的版本,里面有更多的动手细节。
我正在使用 Jersey 2 客户端框架对 Documentum REST API 进行编码,该 API 暂时托管在我的本地计算机上。如果我执行以下代码:
并且返回的 XML 看起来像这样
...那么我该怎么做才能以下列方式获取响应中的链接:
self
上面的命令只是以be结束null
。
结束编辑
我已经尽力找到解决方案,但到目前为止还没有运气。
基本上我正在使用一个 REST Web 服务,它默认返回 JSON 格式的资源,这非常好(无论如何都比 xml 好很多)。我正在使用 Jersey 2.4.1 来使用该服务,虽然我对针对 REST 服务进行编码还很陌生,但除此之外我没有遇到任何真正的问题(就我而言,这确实比 REST 更与泽西岛相关可以告诉)。
基本上,我在使用 Jersey 2 API 来检索和遍历服务返回的链接方面没有任何运气。Jersey 2 在其文档中有以下(简短)示例:
哪个恕我直言是以下返回数据的等价物:
现在要获取这些关系的链接,文档中的客户端代码如下所示:
我认为这很简单。现在,在我的 WebTarget 对象指向的 URL 中,我的服务大约有 10 个采用以下 JSON 格式的链接:
问题是,如果我对文档中的内容进行客户端等效:
..然后我只得到一个空的Set<Link>
。
我怀疑它可能与以Client
某种方式启用 JSON 绑定有关,但我尝试添加 MOXy 的依赖项,如果它在类路径中,它似乎应该是自启用的,但这没有帮助。
我确定我错过了一些非常基本的东西,但我整天都在搜索,测试不同的媒体类型请求以及我能想到的任何东西,但没有运气。虽然我的应用程序在没有这种链接处理的情况下可以正常工作,但我仍然想让它正常工作。
感谢您对此的任何帮助。
// 安德烈亚斯
编辑对 user1888440 的响应
我同意,链接确实在查询资源时返回的实体中。这也与我处理资源的方式一致,我在其中使用:
..然后以以下方式查询对象的链接:我需要首先从 JsonObject o 中获取“链接”-JsonArray,然后遍历找到的所有链接,将“rel”描述与我所追求的进行比较并返回正确的“href”值。
但是我认为应该有一种更顺畅的方式来获取实体中的链接,特别是如果我们将此过程与以下内容进行比较:
我明白你在说什么,上面的 getLink("rel") / getLinks() 方法仅适用于响应标头中的链接。但是肯定有一些等效的方法来处理实体内部的链接,它不像我上面描述的那样冗长吗?
PS:您建议的示例,将资源实体读入Map
:
..不起作用并导致null
.entity