Puis-je modifier la valeur du paramètre d'annotation @Produces dans mes services RESTEasy?
La tâche qui m'a été confiée consiste à intégrer des rapports à plusieurs formats dans un système de rapports existant. La modification dynamique du paramètre d'annotation @Produces m'aidera beaucoup.
Merci d'avance!Modifiez dynamiquement le type de retour de service RESTEasy
4
A
Répondre
6
Faites votre méthode retourne un objet Response
et essayer quelque chose comme ça;
int status = 200;
String type = MediaType.APPLICATION_XML;
String response = "<hello>world</hello>";
return Response.status(status).type(type).entity(response).build();
Je pense que le type dans la réponse écrasera ce que vous annotés, mais je l'ai pas testé.
3
Vous pouvez spécifier plusieurs entrées dans @Produces. Votre demande devrait mentionner quel format (en tant que type mime) voulez-vous en tant que résultat.
Exemple:
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Yeap ... il remplace le type annoté. – Andrew
Merci! cette réponse résout mon problème! :) – sabadow