问题标签 [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 投票
1 回答
720 浏览

java - Tomcat Context 使用 Jersey 冲突

我正在使用 jersey 创建 Web 服务器

我的项目目录有以下映射

restEndpoint1.java 的外观示例是

所以部署到tomcat时我的url的一个例子是

我的 web.xml 是

现在我必须使用tomcat web UI中的上下文路径将这场战争部署为不同的上下文(我使用的是Tomcat 7)

即我希望网址是

我知道每个上下文都会将所有其余端点暴露给它们,但我并不关心,我只需要以这种方式映射它。我面临的问题是

1)在 web.xml 中,我需要提供一个文件夹名称作为参数,以便成为 root ,但是在这个上下文要求下,我不能这样做。我也不能独立映射到每个java类(我可以吗??)

2)在tomcat UI中如何使用不同的上下文部署我的应用程序,我只能上传战争或给出上下文并在服务器上使用战争的URL

0 投票
1 回答
2025 浏览

java - 泽西 url 映射错误

我有一个具有以下文件夹结构的 Web 应用程序

restendpoint1.java 就像

我的 web.xml 是:

这使我的网址

有没有办法可以从映射中消除文件夹名称,以便进行映射

如何操作我的 web.xml 来实现这一点。

我需要这样做的原因是,我需要文件夹结构来确保代码的可维护性(而不是将所有内容分组到一个类中并将 web.xml 映射到该类),但我还必须避免foldername进入映射。

0 投票
1 回答
186 浏览

json - Jackson 无法反序列化来自带有 JAXB 的 Jersey 1.x (1.17) 的 JSON 响应

我有一个运行 1.17 的球衣网络服务,并支持通过 @Produces 注释通过 XML 和 JSON 返回响应。我假设它在返回 JSON 响应时默认使用 JAXB,但我无法确认。截至目前,我现有的客户也使用相同的 JAXB 序列化器/反序列化器。我想创建一个使用 Jackson 而不影响现有客户端的新客户端。

JAXB JSON 响应与 Jackson for Maps 不兼容。使用 JAXB 的地图的 JSON 格式为

杰克逊无法解析这一点。有没有办法让杰克逊解析这个 JSON?

另一种尝试:将球衣换成杰克逊

这不是首选选项,但我尝试将“com.sun.jersey.api.json.POJOMappingFeature”设置为 true 以允许它使用 Jackson 进行 JSON 序列化/反序列化,但是服务最终返回 500 秒响应而不记录任何异常. log4j 记录器级别设置为 TRACE。我启用了 ContainerRepsonseFilter 以确认响应中的 500 秒,令我惊讶的是,它记录了成功的 2xx 响应。我的猜测是问题发生在堆栈的某个地方,但我不知道在哪里。

0 投票
1 回答
977 浏览

java - 从 HTML 调用 REST Web 服务

以下 URL 以 XML 形式返回结果:

.../SampleRest/ServiceProvider2/InchToFeet?i=2

这很好,但是当我尝试使用 tomcat 服务器运行 HTML 文件时,我得到了错误:

未找到网页 404 html 文件未在使用 jersey 的 RESTful Web 服务中运行

0 投票
1 回答
179 浏览

java - 如何在 Glassfish 3 中使用 Guice?

我的耳朵正在使用 CDI,但我遇到了已知的 内存 泄漏。而不是一起放弃依赖注入,我想知道是否可以用 Guice 代码替换 CDI 代码。

我正在使用 Stripes 框架、Web 服务和 Jersey 1.x。如何让 Guice 管理所有这些端点?

0 投票
1 回答
633 浏览

java - 使用 guice,我如何配置 Jersey 的媒体类型映射?

我有 Guice 配置 Jersey,它工作得很好。到目前为止,这是我正在做的事情:

我有一个非常简单的 ResourceConfigClass,它看起来像这样:

但是,我不知道如何配置 Guice 以使用我制作的这个 ResourceConfigClass。如果bind是这样,我会在启动时收到此错误:

在我使用 Guice 之前,我可以通过将它放在我的 web.xml 中来使用这个类:

不过,我不知道如何在 中设置该属性GuiceServletConfig。当我使用带有 guice 的 jersey 时,如何设置媒体类型映射?

0 投票
1 回答
2313 浏览

java - 我在一个对象上有一个重载的设置器,我怎么能告诉杰克逊忽略其中一个?

我正在使用com.sun.jersey.api.json.POJOMappingFeature设置为 true 的 Jersey 1.17,并且我正在发布一个如下所示的对象:

我的资源有这个方法:

我的客户端单元测试是这样写的:

这两个测试都失败,并显示一条消息“postByteArrayWithOverloadedSetterObject 返回了 204 No Content 的响应状态”并且服务器正在记录“数据为空!” 对于每个。为什么不通过网络对字节数组数据进行序列化?我将其作为 JSON 发送。

如果我注释掉@XmlTransient/@JsonIgnore注释,我会收到此错误:“java.lang.RuntimeException:属性“数据”的设置器定义冲突”。

在我的实际情况下,我无法轻易修改ByteArrayWithOverloadedSetterObject. 但是由于这只是一个测试,如果我重命名第二个 setter 并且对象变成这样,我可以看到一切正常:

由于我无法更改 的 API ByteArrayWithOverloadedSetterObject,还有其他解决方法吗?

0 投票
1 回答
99 浏览

redirect - Jersey 1.17:当不是 isUserInRole 时重定向(redirect-on-403)

我们使用 Jersey 1.17 并通过实现 SecurityContext#isUserInRole(role) 方法检查是否允许用户访问资源。

我们需要将具有特定角色的用户重定向到特定页面,以防用户无权访问特定资源。基本上,我们想做一个 403 重定向。

我尝试在过滤器中执行此操作,但我不确定如何从那里获取 SecurityContext 以及终止过滤器链和重定向的正确方法。

0 投票
1 回答
759 浏览

rest - Jersey 1.18.1 在 Jboss 7.1.1 final 上部署时无法选择我的宁静服务

我有一个非常令人困惑的问题。我有一个由 gradle 构建的 eclipse Restful 服务项目。我可以在 Tomcat 7.0.54 中成功构建和运行我的应用程序,从 Eclipse 中并直接在 Tomcat 的 /webapps 文件夹中部署战争。

但是当我在 Jboss 7.1.1 Final 中部署相同的战争时,它给了我以下错误。

此外,当我将这场战争解压到一个文件夹并将该文件夹部署到 Jboss 中时,它可以工作!如果我直接从 Eclipse 在 Jboss 中运行我的项目,它也可以工作。但是,如果我将项目导出为战争(来自 eclipse)并将该战争文件部署到 Jboss,它再次给我同样的问题。

当我深入研究 Jersey 的代码时,我发现com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner无法从战争中选择我的类文件。

请帮助我们解决这个问题。

0 投票
0 回答
212 浏览

java - Jersey 1.0 JAX RS:如何将 uri 字符串路径转换为 ​​REST 方法调用?

我对 Jersey JAX-RS 还很陌生,所以请多多包涵。我们试图通过让客户端提交一个它通常单独创建的 uri 路径的 JSON 列表来向我们的 REST API 添加批处理功能。例如:

同样,此列表中的每个字符串都是 REST api 中的路径(或子路径)。该列表将提交到单个路径,例如“/rest/queries”,该路径对应于方法public List<Response> queries(List<String>)。这个想法是为给定列表中的每个路径执行相应的方法。有没有办法在 Jersey 1.0 JAX-RS 上做到这一点?或者,有没有办法配置 JAX-RS,它会自动执行批量 GET 请求?

我们的目标是让批处理请求包含多个彼此完全不同的 GET 请求,类似于我上面的示例。