curl -X POST http://localhost:8080/cat \
-d "{\"name\": \"Tihon\", \"color\": \"red & white\", \"tail_length\": 15, \"whiskers_length\": 12}"
Вышеупомянутый curl
запрос имеет тело JSON, тогда как ваш метод обработки запроса
@RequestMapping(value = "/cat", method = RequestMethod.POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
потребляет / принимает: application/x-www-form-urlencoded
.Поэтому вам следует либо преобразовать свой метод, чтобы использовать / принять application/json
, либо изменить свой запрос curl
на:
curl -X POST http://localhost:8080/cat \
-d 'name=Tihon&color=red%20%26%20white&tail_length=15&whiskers_length= 12' \
-H 'Content-Type: application/x-www-form-urlencoded'
РЕДАКТИРОВАТЬ 1
Обратите внимание, чтопо умолчанию Content-Type для curl равно application/x-www-form-urlencoded
.Чтобы использовать JSON, измените ваш запрос на:
curl -X POST http://localhost:8080/cat \
-d "{\"name\": \"Tihon\", \"color\": \"red & white\", \"tail_length\": 15, \"whiskers_length\": 12}" \
-H 'Content-Type: application/json'