Я недавно внедрил сервис Джерси JAX-RS Rest. Я создал JIBX-провайдер, который позволяет демаршировать и маршалировать между типами XML и Java. Я также хотел бы создать версию своего сервиса, указав версию в URL-пути. Управление версиями будет включать версию привязки сообщений, используемую для маршалинга и демаршаллинга типов Java.
Следовательно, необходимо, чтобы версия передавалась пользовательскому провайдеру JIBX, и, следовательно, URL-путь, содержащий версию. Однако интерфейсы провайдера (MessageBodyWriter
и MessageBodyReader
) не предоставляют путь URI в своих методах интерфейса.
Ниже приведена сигнатура метода writeTo()
интерфейса MessageBodyWriter
:
writeTo(Object, Type, Annotation[], MediaType, MultivaluedMap, OutputStream)
Параметры этого метода не содержат путь uri, поэтому пользовательский поставщик jibx не может знать, какую версию привязки сообщений он должен использовать для маршалинга типа Java. Это можно обойти?