Comment obtenir l'objet merci ... p>
Edit: En réalité, ce que je veux, c'est définir le contenttype em> de l'objet HTTPServletResponse dans mon contrôleur.Des Spring fournit n'importe quel moyen pour cela sans obtenir l'objet httpServletResponse comme argument dans la méthode de contrôleur? p> httpServletresponse code> dans une méthode de mon contrôleur de ressort
3 Réponses :
Il suffit de le transmettre comme un argument, par exemple
Mais cela liera mon contrôleur à HTTP API que je ne veux pas.Veuillez voir mon édition également.
Je pense que la meilleure façon de gérer cela consiste à utiliser un la mise en œuvre de la vue , puisque ici la réponse-rendu devrait avoir lieu. P>
Je peux voir deux options:
Si le type de contenu que vous souhaitez est statique, vous pouvez l'ajouter à @RequestMapping code>, par exemple. P>
@RequestMapping("/something")
public ResponseEntity<String> handle() {
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setContentType(new MediaType("text", "plain"));
return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED);
}
la ligne réveilheaders.setContentType ("Texte / plaine"); Code> Dans Code ci-dessus donne une erreur:
setContentType (org.springframework.http.mediatype) dans org.springframework.http.httpheaders ne peut pas être appliqué sur (java.lang.string) code>. Donc j'ai essayé:
réveilheaders.setContenttype (nouveau médiatype ("texte / plaine")); code> mais qui donne une erreur:
java.lang.illegalargumentException: personnage de jeton invalide '/' in jeton "texte / simple " code>. Toute suggestion?
SKAFFMAN: J'ai exécuté votre code modifié, il fait maintenant une erreur: java.lang.noschmethoderror: org.springframework.http.httpheaders.readonlyhttheaders (lor g / springframework / ht tp / httpheaders;) LORG / Springframework / http p / httpheaders; org.springframework.http.httentitilité.