@PathVariable
предназначен для дифференциации конечных точек и не должен использоваться для отправки собранных данных в контроллер, например, предположим, что одна из моих конечных точек имеет значение /list/{vehicletype}/{fuel}
Здесь {vehicletype}
и {fuel}
являются переменными пути.
Теперь, если я использую автомобиль в качестве типа транспортного средства и бензин в качестве топлива, моя конечная точка будет /list/car/petrol
, чтобы получить список всех автомобилей, работающих на бензине. Также я могу передать велосипед как тип транспортного средства и электрический в качестве топлива, чтобы перечислить все велосипеды, которые работают наэлектричество. Моя конечная точка состоит в том, что такое условие будет /list/bike/electric
Таким образом, вы можете видеть, что эта же конечная точка становится динамической с помощью переменных пути. Также как переменная пути использует данные в URL браузера, поэтому она будет подавлена 1028 символами.
Если вам нужно отправить данные в контроллер, используйте вместо этого @RequestBody
. Если вы хотите проверить его на пустоту для проверки данных, внедрите свой собственный валидатор и используйте @Valid
аннотация