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

0 投票
4 回答
4085 浏览

java - 如何使用我从中获取 inputStream 的临时文件

我正在尝试使用 REST Web 服务将文件上传到 Web。我创建了一个流程,它接受以下形式的文件:

在方法结束时,我需要返回客户端上传的文件,并在下一个方法中将该文件转换为字节数组。基本上我以“InputStream”格式获取文件。有什么方法可以作为文件本身获得吗?

0 投票
8 回答
110252 浏览

java - Jersey 2.0 的依赖注入

在没有任何以前的 Jersey 1.x 知识的情况下从头开始,我很难理解如何在我的 Jersey 2.0 项目中设置依赖注入。

我也知道 HK2 在 Jersey 2.0 中可用,但我似乎找不到有助于 Jersey 2.0 集成的文档。

pom.xml

我可以让容器启动并提供我的资源,但是只要我将@Inject 添加到 MyService,框架就会引发异常:


我的入门项目在 GitHub 上可用:https ://github.com/donaldjarmstrong/jaxrs

0 投票
1 回答
5379 浏览

java - Jersey 2.0“入门”指南,找不到 mainClass

嗨,我正在尝试遵循 Jersey 2.0 的入门指南

我按原样执行了步骤 1.1 和 1.2。那里没问题。

对于步骤 1.3,我遇到了一个问题,因为 maven 找不到 javax-annotation 1.2,但我按照另一个 Stackoverflow 用户的建议解决了它,并在我的 pom.xml 中添加了一个存储库。

所以mvn clean test通过没有问题,但是当我尝试跑步时,mvn clean exec:java我回来了

pom.xml 是由以下命令创建的:

我所做的唯一补充如下:

如果感兴趣,这是mvn -version

0 投票
5 回答
30066 浏览

maven - 如何从 Jersey 1.0 迁移到 Jersey 2.0?

我正在尝试升级到 Jersey 2.0,但遇到了很多麻烦,因为 Jersey 的 groupIds 和 artifactIds 已经完全改变,我在Jersey docs中找不到迁移计划。

这是我的 pom.xml 以前的样子,编译得很好:

这些应该改成什么? 这个不相关的 StackOverflow 问题有点帮助,但我很难找到@Ref注释移动到的位置。


更新

  1. 似乎@Ref不再存在,或者至少在文档中不再提及。现在您使用UriBuilder.
  2. 我在文档中找到了一个非常有用的部分,它回答了我的 maven 问题
  3. HTTPBasicAuthFilter重命名为HttpBasicAuthFilter. 注意大写。
  4. Client client = Client.create();已经成为Client client = ClientBuilder.newClient();
  5. 这个:

    已经成为

    /li>
0 投票
1 回答
480 浏览

glassfish - Jersey 2.0 可以与 Glassfish 2.x 一起使用吗?

我正在使用 Glassfish v2(我知道它很旧)。现在我已经切换到 Jersey 2.0,在启动时它给了我这个例外:

有谁知道为什么/如何给出这个错误?这不是用于我能找到的任何球衣代码的包名称。是否可以在 Glassfish 2.x 上使用 Jersey 2.0?

0 投票
3 回答
3410 浏览

java - 什么是 ResourceContext.matchResource(URI) 的 Jersey 2 替代品?

在 Jersey 2.0 下,如何找出任意 URI 映射到的资源?在 Jersey 1.x 下,我会使用ResourceContext.matchResource(URI)

我正在尝试做的事情:我正在尝试处理通过 URI 引用另一个资源的传入请求。例如,这是一个将用户链接到部门的操作。

POST /departments/5 解析为:

为了满足此请求,我需要将 URI 解析回 UserResource 并从那里解析为其数据库 ID。添加@Context UriInfolinkUser()将无济于事,因为这UriInfo对应于部门而不是用户的 URI。

更新:我在https://github.com/eclipse-ee4j/jersey/issues/2444提交了一份错误报告

UPDATE2:发布了一个后续问题:Jersey2: Navigating from a Resource to an instance

0 投票
8 回答
19192 浏览

guice-servlet - 如何在 Jersey 2.0 中使用 guice-servlet?

是否有任何示例代码演示如何在 Jersey 2.0 中使用 guice-servlet?

0 投票
10 回答
48065 浏览

jersey - Jersey ContainerRequestFilter 未触发

我正在尝试使用 aContainerRequestFilter在基于 Tomcat 的 Jersey 应用程序上强制执行一些身份验证。我跟着这个文件。问题:过滤器永远不会被触发

过滤器类:

web.xml 文件:

0 投票
2 回答
1017 浏览

jboss-arquillian - Arquillian、tomee 嵌入式和 JAX-RS

我正在使用带有 tomee 嵌入式容器的 Arquillian 来测试我的 JAX-RS Web 服务。在我的测试用例中,我正在运行一个访问提供的资源的球衣测试客户端。但是,该测试在访问资源时始终会导致 404 NOT FOUND 状态。

在我的 tomee-jaxrs 实例上部署相同的项目时,资源已正确提供。

这些是我在测试项目中包含的 Maven 依赖项:

我的测试用例如下所示:

以及我的 web.xml:

JAX-RS 资源确实不可用,因为当我在测试方法中设置断点并尝试在浏览器中访问该资源时,会收到 404 消息。但是,在将存档部署到 tomee-jaxrs 服务器时执行相同的操作可以正常工作。我需要在此处添加任何其他 maven 依赖项或 arquillian 配置设置以使其正常工作吗?

感谢您的任何反馈和最好的问候帕斯卡

0 投票
1 回答
8579 浏览

java - 使用 Jersey 2.0,如何为每个请求注册一个可绑定实例?

...如果需要手动构建实例,也许是由第 3 方工厂类?以前,(Jersey 1.x),你会做这样的事情:

匿名本地类能够访问实例以在某个范围内返回。当您不使用具有默认构造函数的类时,这很有用,但需要根据每个请求构造它们。

Jersey 2.0 切换到 HK2 作为依赖注入框架,但遗憾的是,迁移页面 ( https://jersey.java.net/documentation/latest/migration.html ) 没有提供这种绑定的示例,并且HK2 文档没有提供使用 AbstractBinder 的示例。

为了详细说明,我正在尝试为我的资源提供资源本地、容器无关的 JPA EntityManager 实例。这些必须从单例工厂类中获取,并且应该只保留一个“工作单元”,这在我的情况下是一个请求。我知道有一些解决方法(只需注入工厂,或绑定到线程本地),但我发现以前的解决方案很优雅,如果可能的话想重新创建它。

编辑:
通过 HK2 javadocs 挖掘了一下,我发现类似的东西可以实现如下:

并注册它...

这“似乎有效”,但似乎也有点不清楚。例如,从不调用 dispose()。此外,此绑定似乎隐含地表现为 RequestScoped。将配置修改为bindFactory(this).to(MyInjectable.class).in(RequestScoped.class);似乎并没有真正改变行为。我错过了什么,还是这是预期的解决方案?