MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Java MongoDB POST :415 type de média non pris en charge

Vous avez deux problèmes :

  1. Omettre @Consumes(MediaType.APPLICATION_JSON) . Votre demande n'a rien à voir avec json.
  2. @PathParam s doit être remplacé par @RequestParam s. Les valeurs sont lues en tant que paramètres de requête (chaîne de requête) et non en tant que parties de chemin.

De plus, dans l'exemple de requête, vous devez vous débarrasser du / supplémentaire après User :

localhost:8080/User?userName=Daniel&...

Pour utiliser les paramètres de chemin, vous devez ajouter une annotation de chemin à la configuration de la méthode de ressource, telle que :

@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}

et la requête doit ressembler à :

localhost:8080/User/Daniel/test/0634554567/daniel/OWNER

Ce qui n'est pas du tout intuitif

Et une dernière chose :List<String> roles est faux. Spring ne sera pas converti en une liste de chaînes, que vous utilisiez un chemin ou un paramètre de requête. Vous devrez diviser vous-même les rôles en tableau (probablement en utilisant , comme séparateur) ou fournir un Converter .