6
votes

Définition du type de contenu de réponse sans utiliser httpservletresponse

Comment obtenir l'objet httpServletresponse dans une méthode de mon contrôleur de ressort de sorte que mon application reste lâche avec une API HTTP?

merci ...

Edit: En réalité, ce que je veux, c'est définir le contenttype 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?


0 commentaires

3 Réponses :


2
votes

Il suffit de le transmettre comme un argument, par exemple xxx


1 commentaires

Mais cela liera mon contrôleur à HTTP API que je ne veux pas.Veuillez voir mon édition également.



0
votes

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.


0 commentaires

11
votes

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);
}


2 commentaires

la ligne réveilheaders.setContentType ("Texte / plaine"); 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) . Donc j'ai essayé: réveilheaders.setContenttype (nouveau médiatype ("texte / plaine")); mais qui donne une erreur: java.lang.illegalargumentException: personnage de jeton invalide '/' in jeton "texte / simple ". 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é. (httpentity.java: 100) org.springframework.http.httentitilité. (httpentity.java: 70) org.springframework.http.httentitilité. (Httpentity.jav a: 58) .