sql >> Databáze >  >> NoSQL >> MongoDB

Java MongoDB POST:415 nepodporovaný typ média

Máte dva problémy:

  1. Vynechat @Consumes(MediaType.APPLICATION_JSON) . Váš požadavek nemá nic společného s json.
  2. @PathParam s by mělo být nahrazeno @RequestParam s. Hodnoty se čtou jako parametry požadavku (řetězec dotazu), nikoli jako části cesty.

V příkladu požadavku byste se také měli zbavit nadbytečného / po User :

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

Chcete-li použít parametry cesty, měli byste do konfigurace metody prostředku přidat anotaci cesty, například:

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

a požadavek by měl vypadat nějak takto:

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

Což není vůbec intuitivní

A poslední věc:List<String> roles je špatně. Spring se nepřevede na seznam řetězců, bez ohledu na to, zda použijete cestu nebo parametr dotazu. Role budete muset rozdělit do pole sami (pravděpodobně pomocí , jako oddělovač) nebo zadejte Converter .




  1. Jak dynamicky vytvořit schéma mongoose?

  2. Jak ukládat soubory v MongoDB?

  3. Agregační dotaz Mongoose vrátí více než jeden záznam, když by měl vrátit pouze jeden

  4. Pro test jednotky použijte falešný server MongoDB