L'envoi de Contenu personnalisé-Type avec ResponseEntity<Ressources>
Je suis en train d'utiliser le ResponseEntity type de retour dans mon Printemps WebMVC 3.0.5 contrôleur. Je suis de retour d'une image, je tiens donc à définir le Type de Contenu de l'image/gif avec le code suivant:
@RequestMapping(value="/*.gif")
public ResponseEntity<Resource> sendGif() throws FileNotFoundException {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_GIF);
return new ResponseEntity<Resource>(ctx.getResource("/images/space.gif"), headers, HttpStatus.OK);
}
Cependant, le type de retour est remplacée par le texte/html dans ResourceHttpMessageConverter.
Autre que de mettre en place mon propre HttpMessageConverter et injecter de l'air dans le AnnotationMethodHandlerAdapter, est-il possible pour moi de forcer le Type de Contenu?
OriginalL'auteur Nigel | 2011-05-31
Vous devez vous connecter pour publier un commentaire.
essayer d'injecter de l'objet HttpServletResponse force et le type de contenu à partir de là.
C'est totalement génial. Il a travaillé pour moi à 100%. Veuillez noter que la réponse.setContentType("image/gif"); ligne ne fait rien. La clé est dans le repos.
Il semble que lorsque vous utilisez cette technique, vous pouvez obtenir une 406 erreur, ce que résolu dans mon cas était de retour d'un ResponseEntity<byte[]> la réponse ci-dessous stackoverflow.com/questions/8049153/...
Est de définir des en-têtes aussi nécessaire ou tout simplement réglage de la réponse.setContentType("image/gif"); assez bon? quelle est la différence ou besoin d'eux?
OriginalL'auteur gouki
Une autre proposition :
OriginalL'auteur Mouad EL Fakir
Ces deux approches sont corrects. Vous pouvez également utiliser
ResponseEntity<?>
en haut de sorte que vous pouvez envoyer plusieurs types de données.
OriginalL'auteur Nandan
Cette approche devrait être adoptée pour définir tous les paramètres comme httpStatus , contentType et le corps
Cet exemple est à l'aide de la ResponseEntity.BodyBuilder de l'interface.
OriginalL'auteur Samrat