запрос к конечной точке не может со следующей ошибкой:Spring @GetMapping с @RequestParam и @RequestBody терпит неудачу с HttpMessageNotReadableException
400 Bad request org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing
@GetMapping
public List<SomeObject> list(@RequestParam(required = false) String parameter, @RequestBody String body, @RequestHeader("Authorization") String token) {
.....
}
если @GetMapping
будет изменено на @PostMapping
все работает как шарм, хотя. Любые идеи, что происходит?
Примечание: Кураж используется для отправки запроса, так что это весьма маловероятно, что ошибка в Curl
UPDATE: Так, похоже, весна не поддерживает @RequestBody
для @GetMapping
. Я все еще не могу понять, почему? @DeleteMapping
с @RequestBody
отлично работает
Хммм .... но GET также может иметь тело - https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html И весна позволяет использовать RequestBody для GetMapping –
Взгляните на эту строку, в той же статье - ** Оба HTTP GET и HTTP POST могут использоваться для выполнения поиска с помощью тела. Поскольку не все клиенты поддерживают GET с телом, POST также разрешен. ** Запрос GET с телом неверен в соответствии со стандартом HTTP. –
Итак, в чем смысл - Spring не поддерживает RequestBody для GetMapping? –