问题标签 [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 - 将 Neo4j 与 Jersey 2.x API 一起使用
我正在尝试将 Neo4j 服务器与 jersey 2 API 一起使用,但我很难将 neo4j 中的示例从 jersey 1.x 重写为 2.x。例如这里是第一个例子是:
可以重写为:
但是当我尝试重写第二个示例时,我陷入了困境:
这应该看起来像:
但这会返回 http 404。应该如何构造请求>?
自己回答了这个问题:代码片段应该是:
exception-handling - Jersey ParamConverter 异常未由 ExceptionMapper 处理
每个标题,从 ParamConverter 抛出的异常没有按我期望的方式处理。
使用 ExceptionMapper:
和参数转换器:
它不会在 500 错误中返回“它触发”文本,而是返回 404。
预期问题:两个提供商都注册了吗?
是的 - 如果我从资源中抛出“MyException”(在“常规”代码中),它会按预期工作。我还可以转换查看带有“转换”消息的堆栈跟踪。
有什么方法可以让 ExceptionMapper 处理来自 ParamConverters 的异常?
我正在使用 jersey 2.3.1 和 spring-jersey,在码头容器 9.1.0.RC0 中启动
servlets - Glassfish 4.0.1 上的 Jersey 2.4:如何将上下文 HttpServletRequest 注入 ContainerRequestFilter?
Jersey 2.4 能够注入 HttpServletRequest:https ://java.net/jira/browse/JERSEY-1960
Glassfish 4.0.1 与 Jersey 2.4 捆绑在一起:http: //dlc.sun.com.edgesuite.net/glassfish/4.0.1/nightly/latest-glassfish.zip
Glassfish 中打开的错误: https ://java.net/jira/browse/GLASSFISH-20885
Glassfish 4.0.1 无法部署此过滤器,但有以下例外:
jersey - 泽西岛和 Guice 管理的资源
我正在开发一个在 OSGI 环境中动态加载 JAX 资源的应用程序。这些资源由 Guice 管理,在每个 Bundle 中,它们被加载到在核心包上运行的 JAX 应用程序中。
其中 context 是由 Guice 管理的 Jersey ServletContext。
这一切都完美无缺。出现问题是因为我们想要在加载资源时操纵路径。然后,我们创建我们的 ModelProcessor。
错误是无法处理注入资源的所有依赖项。例如:如果资源注入了日期(@Inject Date 日期),则错误如下:
……………………
我认为错误在于新实例(资源 r1)由 H2K 而不是 Guice 处理,并且不能满足您的依赖关系。
我们尝试在 OSGI 环境中使用 guice-bridge 工件,但这会产生错误:未找到 ServiceLocator 的实现。
但是所有依赖项都在类路径中:
那么,如果解决方案是使用 guice-bridge,那么如何更改 guice 管理的资源的路径,这是最好的配置方式吗?
我正在使用球衣 2.4。
谢谢
jsp - 无法使用 Jersey 服务器加载 JSP 页面
我将 jersey 2.4 用于我的 Web 服务,并且无法让主页加载 index.jsp。我也做了一个 IndexService POJO 来尝试从那里加载它,但这不起作用。我想只使用主页,而不是使用 IndexService POJO。到达 POJO 但返回:
HTTP 状态 500 - org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException:找不到媒体类型 = 文本/html、类型 = 类 org.glassfish.jersey.server.mvc.Viewable、通用类型 = 类 org.glassfish.jersey 的 MessageBodyWriter .server.mvc.Viewable。
我的 web.xml 文件:
依赖 pom.xml 文件:
索引服务 POJO:
java - 为什么 CDI 不工作?
我有下一个休息服务:
MainDep 依赖代码:
当我尝试在以下 url 上使用资源时:host:port/root/geo/weather GlassFish 抛出了 javax.servlet.ServletException:
rest - Jersey REST get 返回 java.lang.NoSuchMethodError
我正在尝试从正常工作的 REST 网络服务中获得响应。
我在查看文档时提出了以下内容:
但是我返回了一个不太友好的:
我正在使用 NetBeans 并且没有添加任何库,因为 GlassFish Server 似乎带有 javax.ws.rs-api.jar ,它使上述运行。
我是否需要在库中添加 Jersey.jar 或者我错过了什么?谢谢
java - 如何使用 Grizzly 嵌入式服务器在 Jersey-Spring 中配置现有的应用程序上下文?
在启动嵌入式 Grizzly 服务器时,我希望 Jersey 使用我现有的 Spring 容器。这在 jersey-1.0(Grizzly,共享 spring 生成的上下文)中是可能的,但在 Jersey 2.x 中似乎不起作用。
此代码适用于 Jersey 1.17:
这是我在 Jersey 2 中的代码(我无法找到 SpringComponentProviderFactory 的替代品):
当我运行代码(使用 jersey-spring3)时,我得到了这个异常:
Grizzly 正在尝试从 applicationContext.xml 加载我的 Spring 上下文,但它是基于注释的并且已经加载。如何让 Grizzly 和/或 Jersey 找到我的上下文?
常春藤配置是:
java - 泽西和斯普林托管提供商
我正在使用Jersey 2.4.1、Spring 3.2.4和Jetty 7。
我不明白 Jersey 如何注册由 Spring 管理的提供程序。我用注释的类@Provider
也被注释了@Component
,因为我需要注入。我将 Jersey 配置为使用这些提供商扫描我的包裹。
这是我配置 Jersey servlet 的方法:
启动时的日志:
我的提供程序是通过 Spring 检测到的:Spring managed bean, filterTest, registered with HK2
但它们没有出现在ApplicationHandler
日志中......并且当我运行应用程序时它们没有被使用。
我需要手动注册它们:
甚至更好......解决方法:(
现在它可以工作了(即使它们仍然没有出现在ApplicationHandler
日志中)但我不明白为什么 Jersey 在扫描包并看到这些 bean 由 Spring 管理时没有自动注册它们......
这是我的组件...
资源
筛选
异常映射器
最后是我的依赖
java - Jersey 2枚举作为方法参数抛出异常
我目前正在将 jersey 1.x 项目迁移到 2.4.1,并且在使用枚举作为参数(PathParam、QueryParam 等)时出错。基本上,根据球衣对方法参数的第三个要求,这个枚举应该是有效的
有一个名为 valueOf 或 fromString 的静态方法,它接受单个 String 参数(例如,参见 Integer.valueOf(String) 和 java.util.UUID.fromString(String));
由于这个项目使用 xsd 作为合同来生成 java 类,我有:
生成:
当它用于:
它产生:
因为它是在 JaxbStringReaderProvider 解组期间触发的,所以当我生成的类没有 xml 注释时不应该是这种情况。在不为每个需要的枚举类型创建带有字符串构造函数的包装对象的情况下,处理枚举类型方法参数的最佳方法是什么?