我最近实现了 Jersey JAX-RS Rest 服务。我创建了一个 JIBX 提供程序,它允许在 XML 和 Java 类型之间解组和编组。我还想通过在 URL 路径中指定版本来对我的服务进行版本控制。版本控制将包括用于编组和解组 Java 类型的消息绑定的版本。
因此,有必要将版本传递给自定义 JIBX 提供程序,因此还有包含该版本的 URL 路径。但是,Provider 接口 (MessageBodyWriter
和MessageBodyReader
) 没有在其接口方法中提供 URI 路径。
下面是接口的writeTo()
方法的方法签名MessageBodyWriter
:
writeTo(Object, Type, Annotation[], MediaType, MultivaluedMap, OutputStream)
此方法参数不包含路径 uri,因此,自定义 jibx 提供者无法知道它应该使用哪个消息绑定版本来编组 Java 类型。有没有解决的办法?