web-dev-qa-db-fra.com

Obtention d'erreur de type de support non pris en charge

Bonjour, je me sers du client Rest i.e Postman pour envoyer la demande REST, mais une erreur se produit:

{
    "timestamp": 1432829209385,
    "status": 415,
    "error": "Unsupported Media Type",
    "exception": "org.springframework.web.HttpMediaTypeNotSupportedException",
    "message": "Content type 'text/plain;charset=UTF-8' not supported",
    "path": "/api/v1/user"
}

Mon contrôleur est:

@RequestMapping(value = "/user", method = RequestMethod.PUT, produces = "application/json")
    public Map<String,Object> updateUser(@RequestBody @Valid User user) {
//      userService.updateUser(user);
        return ResponseHandler.generateResponse("", HttpStatus.ACCEPTED, false, null);
    }

J'envoie la demande comme indiqué dans l'image via le client REST.

enter image description here

15
Qasim

Changez votre Content-Type dans Postman en application/json. Cliquez sur le bouton En-têtes pour le faire.

Aussi, vous ne produisez pas de JSON dans la méthode. Supprimer le produces="application/json" de l'annotation

38
kjsebastian

J'ai eu le même problème, et résolu d'une manière différente.

Les nouvelles versions de Postman ont des options dans la section "Corps". Si "raw" est choisi, il y a un menu déroulant dans lequel "JSON (application/json)" fonctionne.

 POST Body raw : JSON

6
tom.g.c

Sous En-têtes dans l'application Postman, tapez une clé en tant que Content-Type et définissez la valeur en tant que application\json

 enter image description here

0
Niraj