Recevoir le code d'état HTTP, après une demande avec Spring MVC
je suis d'envoyer des données à un serveur et je souhaite recevoir le statut de la réponse HTTP, afin de vérifier ce statut et de fournir la vue appropriée
@RequestMapping(method = RequestMethod.POST)
public String Login(@ModelAttribute("Attribute") Login login, Model model,HttpServletRequest request) {
//Prepare acceptable media type
ArrayList<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
acceptableMediaTypes.add(MediaType.APPLICATION_XML);
//Prepare header
HttpHeaders headers = new HttpHeaders();
headers.setAccept(acceptableMediaTypes);
HttpEntity<Login> entity = new HttpEntity<Login>(login, headers);
//Send the request as POST
try {
ResponseEntity<Login> result = restTemplate.exchange("http://www.../user/login/",
HttpMethod.POST, entity, Login.class);
} catch (Exception e) {
}
//here i want to check the received status
if(status=="OK"){
return "login"
}
else
return "redirect:/home";
}
OriginalL'auteur Alex Dowining | 2012-05-06
Vous devez vous connecter pour publier un commentaire.
La ResponseEntity objet contient le code d'état HTTP.
Faute de frappe (j'avais tapé entité.getstatus au lieu de résultat.getstatus). Essayez avec la version éditée et voir si cela fonctionne mieux.
Je vais essayer cela, mais je suis une exception à la ResponseEntity<Login> result = restTemplate.d'échange("../user/login", HttpMethod.De POSTE, d'une entité, Login.class); et je ne peut pas exécuter la ligne: statusCode = résultat.getstatus();
J'ai ajouté une initialisation de la statusCode variable à null. Si une exception est levée la variable restera null (ou vous pouvez définir manuellement un code de statut spécifique dans le bloc catch.
Salut l'homme, et merci pour les réponses. En fait mon problème c'est que je prend une exception et donc la statusCode=résultat.getstatus(); ne peut pas être exécutée.Si vous le souhaitez, vous pouvez prendre un coup d'oeil ici: stackoverflow.com/questions/10507650/...
OriginalL'auteur erikxiv
Quel est le problème avec:
Voir:
ResponseEntity
JavaDoc.BTW, vous ne devriez pas comparer des chaînes à l'aide de
==
opérateur comme ici:Au lieu d'utiliser la marche suivante:
Également les noms de méthode en Java tendance à commencer avec des minuscules.
OriginalL'auteur Tomasz Nurkiewicz