Не думаю, что это может сработать, если вы собираетесь использовать MyRequest
класс.Учитывая, что это AJAX GET-запросы (поскольку это @RestController
), вы можете использовать @RequestBody
:
@RestControler
class MyController {
@GetMapping("/route")
public String get(@RequestBody MyRequest request) {
return "OK";
}
}
и отправлять запрос как JSON, а не использовать запроспараметры:
curl -X GET \
http://url.example/route/ \
-H 'Content-Type: application/json' \
-d '{
"lastIndex": "var",
"sort": "there",
"myFilters":{
"hello": "there",
"hello1": "there1"
}'
}
Может ли GET-запрос иметь тело?
Спецификации немного неоднозначны об этом - вы можете прочитатьподробнее об этом here
.Но контейнеры среды выполнения Spring Boot (я проверял Tomcat, Jetty и UnderTow в Spring Boot 2.0.4.RELEASE) поддерживают их, если вы используете запросы AJAX GET.