Spring Boot Fehler 415 unsupported media type

Beim Anlegen einer neuen Konfiguration in Spring Boot bekam ich die Fehlermeldung, dass der Medientyp nicht unterstützt wird.

Die Antwort vom Server sah in etwa so aus.

POST http://localhost:8080/v1/config/create
 
HTTP/1.1 415 
Accept: application/json
Content-Type: application/json
Transfer-Encoding: chunked
Date: Mon, 14 Feb 2022 12:32:28 GMT
Keep-Alive: timeout=60
Connection: keep-alive
 
{
  "timestamp": "2022-02-14T12:32:28.222+00:00",
  "status": 415,
  "error": "Unsupported Media Type",
  "path": "/v1/config/create"
}

Ich wollte ein neues Objekt mittels JSON zum Server senden, die Funktion wollte sich der Sache jedoch nicht annehmen. Mein erster Fehler war, dass die Funktion nicht richtig annotiert war. Hier musste ich den „consumes“ inklusive aktzeptiertem Datenformat angeben.

@PostMapping(value = "/create", consumes = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity createConfig(@RequestBody Config config) {

}

Der Fehler blieb bestehen bei meinem Test mit dem HTTP-Client in IntelliJ. Nach einigem probieren fehlte hier der Header „Content-Type: application/json“ in der Anfrage.

POST http://localhost:8080/v1/config/create
Content-Type: application/json
 
{
    "id": 0,
    "name": "Keg machine",
    "ip": "192.168.1.12",
    "port": 443,
    "comment": "Keg machine access",
    "location": "Elronds house",
    "apiKey": "key"
}

Anschließend klappte es.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.