Java Spring: неподдерживаемый тип носителя с телом x-www-form-urlencodedJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java Spring: неподдерживаемый тип носителя с телом x-www-form-urlencoded

Сообщение Anonymous »

Я работаю над REST API с использованием Spring и пытаюсь реализовать конечную точку POST, которая получает данные x-www-form-urlencoded в своем теле. На данный момент это мой метод контроллера:

Код: Выделить всё

@PostMapping(value = "/v1/contracts", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity fetchFilteredContracts(
@RequestBody FilterObj body,
@RequestParam(required = false) String number,
@RequestParam(required = false) String supplierNumber
) {
List columnFilters = new ArrayList();

if (number != null) {
columnFilters.add(new DataTableFilter.ColumnFilter("number", number));
}

if (supplierNumber != null) {
columnFilters.add(new DataTableFilter.ColumnFilter("supplierNumber", supplierNumber));
}

// Additional code not implemented yet

return new ResponseEntity(HttpStatus.OK);
}
И просто чтобы объяснить, это мой FilterObj:

Код: Выделить всё

public record FilterObj(
String search_mode
) {}
Я использую Postman для вызова этого бита конечной точки и получаю 415: неподдерживаемый тип носителя. См. изображение.
Изображение

ПРИМЕЧАНИЕ. Если я удалю аннотацию @RequestBody FilterObj body из параметров метода, все будет работать нормально, но тогда у меня не будет доступа к объекту body .
Что я здесь делаю неправильно?

Подробнее здесь: https://stackoverflow.com/questions/792 ... coded-body
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»