J'ai récemment mis en place un service Jersey JAX-RS Rest. J'ai créé un fournisseur JIBX qui permet de démarsaliser et de marshall entre les types XML et Java. Je voudrais également mettre à jour mon service en spécifiant la version dans le chemin de l'URL. Le versioning inclurait la version de la liaison de message utilisée pour marshaler et unmarshall les types Java. Par conséquent, il est nécessaire que la version soit transmise au fournisseur JIBX personnalisé, et par conséquent le chemin d'URL qui contient la version. Toutefois, les interfaces de fournisseur (MessageBodyWriter
et MessageBodyReader
) ne fournissent pas le chemin URI dans leurs méthodes d'interface.Passage du chemin d'accès URI aux fournisseurs JAX-RS
Ce qui suit est la signature de la méthode de la méthode writeTo()
de l'interface MessageBodyWriter
:
writeTo(Object, Type, Annotation[], MediaType, MultivaluedMap, OutputStream)
Ce paramètre méthode ne contient pas le chemin uri, par conséquent, le fournisseur de JiBX personnalisé ne peut pas savoir quelle version de liaison de message, il devrait utiliser pour marshall le type Java. Y a-t-il un moyen de contourner ceci?
Corrigez-moi si je me trompe, mais Jersey implémente JAX-RS, pas JAX-WS – skaffman
oh oui vous avez raison. mis à jour à JAX-RS – onejigtwojig