Une requête POST au REPOS du Ressort du service web échoue avec l'état HTTP 415
J'ai mis en place un printemps de service web RESTful pour prendre le nom d'utilisateur et le mot de passe d'un utilisateur. Suivi le tutoriel sur Printemps IO
Mon service est configuré pour accepter le nom d'utilisateur et le mot de passe comme indiqué ci-dessous:
@Controller
@RequestMapping("/users")
public class UserCommandController {
private static Logger log = LoggerFactory.getLogger(UserCommandController.class);
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity createUser(@RequestBody UserDetail userDetail, UriComponentsBuilder builder) {
User newUser = new User();
newUser.setEmail(userDetail.getEmail());
newUser.setPassword(userDetail.getPassword());
newUser.setUserName(userDetail.getUsername());
try {
UserFactory.getInstance().saveNewUser(newUser);
} catch(UserException ue) {
log.error("Saving user failed. Exception: "+ue.getMessage());
}
return new ResponseEntity(HttpStatus.OK);
}
}
Je suis d'envoi des paramètres POST le service comme un test par le biais de Google chrome plugin FACTEUR, mais je reçois "HTTP: 415..Le serveur a refusé cette demande, car la demande de l'entité est dans un format non pris en charge par la ressource demandée pour la méthode de la requête."
Quelqu'un a une idée de ce que je fais de mal ?
- tsure: où vous en mesure de le résoudre? Je vois le même problème.
- double possible de Spring MVC 3.1 RESTE des services de post de retour de méthode 415
Vous devez vous connecter pour publier un commentaire.
Définir l'en-tête:
Cela a résolu mon problème!!!!
HTTP 415 code de réponse signifie que le serveur attend les données affichées avec un autre type de contenu. Il semble que vous simplement posté un formulaire avec nom d'utilisateur, mot de passe et l'email en tant que paramètres. Qui seraient le résultat d'un type de contenu application/x-www-form-urlencoded.
Essayez de poster avec un type de contenu application/xml ou application/json. Dans votre post, vous devrez mettre vos données dans le format correspondant. Par exemple, si vous utilisez application.xml le XML corps devrait ressembler à quelque chose comme:
Bien sûr le format exact (c'est à dire des noms d'élément) dépend du XML liaisons. En fait, si ou pas le format attendu est XML ou JSON ou quelque chose d'autre est probablement aussi une configuration de serveur.
Poster une demande de ce type ne peuvent pas facilement être réalisé avec un navigateur. Vous aurez besoin d'un client HTTP. Un outil comme SOAP-UI pourrait être un bon pari.