问题标签 [jax-rs]
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.
http - 协议缓冲区 MIME 问题
帮助!试图通过 Rest (Jersey) 实现协议缓冲区,但得到这个异常。
我在 Apache ContextLoader 中加载了 ProtobufMessageBodyReader/Writer。从上面的日志中,似乎 Tomcat 找到了该类,但它在读取时显然失败了
这是 ProtobufMessageBodyReader
这里是 ProtobufMessageBodyWriter
这是来自客户端的代码:
这是来自服务器的代码
我无法弄清楚是什么问题。泽西配置有什么东西吗?或者当我通过 HTTP 发送协议请求时出现问题?
任何帮助将不胜感激。
谢谢
jakarta-ee - JAX-RS custom mapping from entities to xml
Here's my problem:
Say I have two entities annotated with JAX-RS annotations:
This will get rendered into:
My question therefore is:
Is it possible to annotate those entities so that the xml returned is:
i.e. properties of Address entity are treated as Person properties (without the enclosing tags)?
java - 泽西岛的系统范围适配器?
我正在尝试为Jerseyjavax.xml.bind.annotation.adapters.XmlAdapter
中的类型配置“系统范围”自定义。java.util.Locale
在我控制的类上使用它很容易,@XmlJavaTypeAdapter
但情况并非总是如此(我无法注释的第 3 方代码)。
这似乎是一个很常见的问题,但我找不到任何好的例子或文档来说明如何处理它。
那么,有可能吗?
谢谢!
java - 带有 XML 或 JSON 的 JAX-RS (Jersey) 自定义异常
我有一个使用 Jersey 构建的 REST 服务。
我希望能够根据发送到服务器的 MIME 设置自定义异常编写器的 MIME。application/json
接收到json时返回,接收到application/xml
xml时返回。
现在我硬编码application/json
,但这让 XML 客户端一无所知。
我可以利用什么上下文来获取当前请求Content-Type
?
谢谢!
根据答案更新
对于其他对完整解决方案感兴趣的人:
连同一个ExceptionMapper
其中 ErrorResponseConverter 是自定义 JAXB POJO
java - 将 URI 路径传递给 JAX-RS 提供程序
我最近实现了 Jersey JAX-RS Rest 服务。我创建了一个 JIBX 提供程序,它允许在 XML 和 Java 类型之间解组和编组。我还想通过在 URL 路径中指定版本来对我的服务进行版本控制。版本控制将包括用于编组和解组 Java 类型的消息绑定的版本。
因此,有必要将版本传递给自定义 JIBX 提供程序,因此还有包含该版本的 URL 路径。但是,Provider 接口 (MessageBodyWriter
和MessageBodyReader
) 没有在其接口方法中提供 URI 路径。
下面是接口的writeTo()
方法的方法签名MessageBodyWriter
:
此方法参数不包含路径 uri,因此,自定义 jibx 提供者无法知道它应该使用哪个消息绑定版本来编组 Java 类型。有没有解决的办法?
java - 是否可以将 JAX-RS 用作 Web 框架?
我最近一直在研究 JAX-RS,因为我真的很喜欢 Java 平台和 RESTful 风格的 Web 开发。我已经阅读了很多关于使用 JAX-RS 创建 RESTful Web 服务的内容,但是是否可以使用 JAX-RS 创建 RESTful 网站?我想更具体地说,是否可以使用 JAX-RS 作为控制器(从服务器检索所需的数据),然后将控制权转发给视图引擎以呈现适当的 HTML?
我一直在谷歌搜索,但没有找到任何资源来告诉你如何做到这一点。
感谢您的任何见解/帮助。
jax-rs - 从 JAX-RS 中的另一个 ExceptionMapper 调用 ExceptionMapper
在我的 RESTEasy 应用程序中,我得到一个java.lang.reflect.UndeclaredThrowableException
, 因为一个检查的异常是从一个没有在 throws 子句中声明异常的方法抛出的。
所以我正在写一个UndeclaredThrowableExceptionMapper
. 包装真正的UndeclaredThrowableException
异常;我打电话e.getCause()
去找回它。
然后我可以扔掉它或以某种方式查找正确ExceptionMapper
的处理方法吗?
java - 为什么使用 Jersey 在 JSON 中返回带有 @ 的名称
我正在使用作为 Jersey JAX-RS 一部分的 JAXB。当我为我的输出类型请求 JSON 时,我所有的属性名称都以这样的星号开头,
这个对象;
变成了这个,
那么,为什么名称中有@?
java - 使用异常映射器的 JAX-RS
我已经读过我可以创建一个实现javax.ws.rs.ext.ExceptionMapper
,它将抛出的应用程序异常映射到一个Response
对象。
我创建了一个简单的示例,如果在持久化对象时电话长度大于 20 个字符,则会引发异常。我希望将异常映射到 HTTP 400(错误请求)响应;但是,我收到 HTTP 500(内部服务器错误),但有以下异常:
我错过了什么?任何意见是极大的赞赏。
异常映射器:
异常类:
实体类:
服务:
jpa - JAX-RS 中 NPE 抛出的编组实体
我有一个使用 JPA 实体类的 JAX-RS Web 服务。我有一个这样的资源类:
当我运行服务并对实体进行 get 调用时,我收到此错误:
在任何堆栈跟踪中都没有引用我的任何类。此外,该"Exiting getMyEntity"
语句在异常之前记录。
我不知道是什么在抛出 NPE 或如何调试它。
在此错误之前,我[com.sun.istack.SAXException2: A cycle is detected in the object graph. This will cause infinitely deep XML:
从我的 JPA (EclipseLink) 实体类中获取了一个,并在父 getter 方法上将注释 MOXy @XmlInverseReference 添加到我的子类中。
关于可能引发此异常的任何想法?