sql >> Base de Datos >  >> NoSQL >> MongoDB

Java MongoDB POST:415 tipo de medio no compatible

Tienes dos problemas:

  1. Omitir @Consumes(MediaType.APPLICATION_JSON) . Su solicitud no tiene nada que ver con json.
  2. @PathParam s debe reemplazarse con @RequestParam s. Los valores se leen como parámetros de solicitud (cadena de consulta) y no como partes de ruta.

Además, en el ejemplo de solicitud, debe deshacerse del / extra después de User :

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

Para usar parámetros de ruta, debe agregar una anotación de ruta a la configuración del método de recurso, algo como:

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

y la solicitud debería ser algo como:

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

Lo cual no es nada intuitivo

Y una última cosa:List<String> roles Está Mal. Spring no se convertirá en una lista de cadenas, sin importar si usa la ruta o el parámetro de consulta. Tendrá que dividir los roles en una matriz usted mismo (probablemente usando , como separador) o proporcione un Converter .