Я столкнулся с тем, что выглядит как действительно простая проблема.У меня есть конечная точка http, которая должна принимать либо тело JSON, либо загруженный файл.
Вот определение метода контроллера:
@PostMapping(value = "/api/endpoint")
public CompletableFuture<ResponseEntity<Void>> createResource(
@RequestParam(name = "file", required = false) MultipartFile file,
@RequestBody(required = false) Command command){
}
Команда - это класс POJO с аннотациями Джексона для десериализации.Когда я передаю тело JSON с Content-Type: application/json
, оно работает нормально.Но когда я передаю файл с Content-Type: multipart/form-data
, я получаю 415 неподдерживаемых типов носителей.
Вот необработанный http-запрос при передаче только тела JSON.
POST /api/devices?= HTTP/1.1
Host: localhost:8080
Content-Type: application/json
cache-control: no-cache
{"foo": "bar"}------WebKitFormBoundary7MA4YWxkTrZu0gW--
Любойидеи, что вызывает это, спасибо.