问题标签 [jersey-1.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.

0 投票
2 回答
2772 浏览

java - 匹配任何路径的 Jersey 资源

我正在使用Jersey v1.xGuice Servlet。我想要做的是绑定一个匹配any @Path的 Jersey Resource ,这样我就可以使用 Jersey 来响应 404。

我正在寻找这样做,因为我的 servlet 由不同的组件组成(例如,/api位于/.ServletModule小服务程序:

  • 在我的ApiServletModuleserve("/api").with(GuiceContainer.class, conf)
  • 在我的WebUiServletModuleserve("/").with(GuiceContainer.class, conf)

/api在此设置中,我想从每个负责的子项目的代码库中为 webapp (或)的每个部分定义 404 响应主体的外观/,而无需重新实现 Jersey


到目前为止,我已尝试绑定匹配@Path("/"),@Path("*")和的资源@Path("/*"),但是当我请求时,这些资源似乎都没有被拾取/some/path/that/doesnt/exist

0 投票
0 回答
229 浏览

servlets - Jersey & Guice:如何为每个 ServletModule 指定基本路径?

问题s

  • 如何定义 Jersey 资源和ExceptionMappers,使其仅响应对特定路径子集的请求?
  • 我怎样才能做到这一点,而不必提前决定以后要在什么基本路径下托管它们?
  • 如何做到这一点,以便我可以war通过组合库创建单个库,每个库都为 Web 应用程序的特定基本路径定义资源?

背景:
我有一个 Guice + Jersey v1 webapp,它ServletModule从两个不同的依赖项(jars)加载两个 s。
其中一个定义了其他 API 端点的资源(例如@Path("/purchases"), @Path("/payment-methods")),另一个定义了 Web UI 的资源(例如@Path("/"), @Path("/products"))。前者尝试将其 Jersey 资源绑定到
基本路径 ( ), 而后者对基本路径 ( ) 进行等效的操作。API以 JSON 错误对象响应,而 Web UI在 Freemarker 的帮助下生成 HTML 响应。ServletModule"/api/"serve("/api/*").with(GuiceContainer.class, conf);"/"serve("/*").with(GuiceContainer.class, conf);
ExceptionMapperExceptionMapperExceptionMapper

然而,这种组合的结果——API 和 Web UI jar 都在类路径上——是来自两个依赖项的 Jersey 资源响应具有以“/api/”“/”开头的路径的请求。
例如,用于/purchases响应 和 的请求http://example.com/api/purchases http://example.com/purchasesAPI 资源。同样,Web UI 资源响应/products的请求。http://example.com/products http://example.com/api/products

Jersey 看到两个ExceptionMappers 表示相同的异常类型(例如NotFoundException)这一事实使它只选择一个,而不管请求的路径以什么开头。就我而言,和ExceptionMapper<NotFoundException>下都响应未知资源请求,这对应用程序的任何部分都不利。/api//

0 投票
1 回答
256 浏览

jax-rs - MOXy - 强制单元素数组成为对象

我们有一个 Jersey 1.18 jax-rs 服务,它曾经使用 jersey-json 包来支持 JSON。我们正在尝试迁移以使用 MOXy,但不会破坏我们的 JSON 接口。不幸的是 jersey-json 将单元素列表编组为对象,将多元素列表编组为数组。MOXy 默认将所有长度的列表编组为一个数组。我们知道 MOXy 编组的方式更容易让客户端使用,但是我们已经有很多客户端在使用我们的接口,它会破坏接口以开始将单个元素列表编组为数组。有没有办法将 MOXy 配置为将单个元素列表编组为对象而不是数组?

jersey-json 编组单元素列表的方式:

MOXy 编组单元素列表的方式:

我们想要配置 MOXy 来为单元素列表生成前一个序列化。那可能吗?我们使用的是 MOXy v2.5.2。

0 投票
2 回答
19511 浏览

java - Swagger ui - 查询参数

我正在将 Swagger ui 和 Swagger core (1.3) 用于球衣应用程序。我有某些查询参数,我必须随每个请求发送,例如发布、获取、删除......

我怎么能默认这个?

0 投票
1 回答
274 浏览

eclipse - Spring / Jersey / Grizzly 在 Maven 命令行中导致静默测试失败,但在 Eclipse 中成功?

我们有一个 JUnit / Jersey 集成测试,当通过 Maven 从命令行运行时,该测试因“拒绝连接”而失败。但是,当从 Eclipse 运行时,测试通过了。Grizzly 容器似乎有一些错误没有启动,但我找不到任何错误消息或日志,它只是默默地失败。这发生在我们从 Java 7 CentOS 6 环境升级到 Java 8 CentOS 7 环境时。以下是重现此错误的简单测试:

来自maven的错误报告:

0 投票
1 回答
6928 浏览

java - 如何为 Jersey 1.0 客户端设置自定义 Jackson ObjectMapper

我正在使用 Jersey 1.0 http-client 调用资源并反序列化响应 JSON,如下所示:

现在响应 JSON 有一些新字段,我得到以下异常:

如何将杰克逊的反序列化模式更改为非严格,以便它忽略新字段?

0 投票
2 回答
6974 浏览

java - Jersey 'NoContent' 响应返回 200 而不是 204

我正在使用 Jersey (1.18) 为我的 WebApplication 构建一个 REST API。在我的代码的一部分中,我有以下代码段。

Status的一个实例在哪里com.sun.jersey.api.client.ClientResponse.Status;

根据 Jersey DocumentationNO_CONTENT应该返回一个204代码,而不是这个,http 响应有一个带有200代码的标头。

NO_CONTENT
public static final ClientResponse.Status NO_CONTENT
204 无内容,参见 HTTP/1.1 文档。

我试图将上述代码更改为

但问题仍然存在。作为旁注,使用NOT_FOUND而不是,按预期NO_CONTENT返回404标头。

关于“如何返回 204 代码?”的任何建议,这是一个错误还是我做错了什么。

注意:不是返回 200 响应代码而不是 204的重复

0 投票
1 回答
162 浏览

java - JBOSS 没有找到我项目的 Maven 依赖项

我在 JBOSS AS 5.1 中运行一个 MAVEN 应用程序,它具有 jersey-server 依赖项。这是我的 pom.xml 依赖项条目。

很简单,对吧?这是我的 web.xml 项目,它指向这个 jar 中存在的 Servlet 容器。

虽然服务器启动良好,但当我尝试点击配置的@Path 时,我得到了一个ClassNotFoundExceptionfor 。com.sun.jersey.spi.container.servlet.ServletContainer我使用 Eclipse 作为我的 IDE,我可以清楚地看到该类是在 maven 存储库依赖结构(.m2/repository/com/sun/jersey/...)中生成的。

我对 Maven 有点陌生,所以我确信我一定缺少一些基本的东西,但 JBOSS 似乎没有识别我在 POM 中声明的我的项目的运行时依赖项。任何意见,将不胜感激。

0 投票
1 回答
10970 浏览

java - 从 Jersey Client 1.x 升级到 Jersey Client 2.x

我正在使用jersey-client-1.9. 示例代码:

由于该项目已从 更改com.sun.jersey.api.clientorg.glassfish.jersey.client. 如何实现这一点jersey-client-2.8

编辑:

这有效... :)

0 投票
0 回答
104 浏览

java - JSON 响应对象具有附加的名称/值对

我正在使用 REST Post 服务(使用 Jersey 1.19)来创建新的会话详细信息。

这是我的代码:

我的请求正文如下所示:

应该返回的 sessionInfo 对象是:

我得到的输出是:

我不明白为什么我会cif:786在回复的最后得到附加信息。

任何指针?

问候阿里。