Обновление внешних ключей весной jpa hateoas

Я использую тот же код, который описан в моем другом вопросе: Доступ к данным jpa с отдыхом, начало работы + велосипед сущности, который имеет внешний ключ на сущности человека

Проблема в том, что я не могу обновить значение person_id в сущности велосипеда. Я попытался с помощью этой команды:

curl -i -X PUT -H "Content-Type:application/json" -d "{ \"name\" : \"Frodos Bike name is changed\", \"person\" : \"http://localhost:8080/people/2\" }" http://localhost:8080/bikes/1

Но это не работает. Значение имени меняется, но person_id остается прежним.

Имейте в виду, что у меня есть человек с ID = 2, и он доступен по адресу: http://localhost:8080/people/2

Как правильно обновить это поле?

1 ответ

Решение

PUT будет работать с curl -i -X PUT -H "Content-Type:application/json" -d '{"_links": {"person": {"href" : "/people/2"}}} http://localhost:8080/bikes/1/person

или также с PATCH с curl -i -X PATCH -H "Content-Type:application/json" -d "{ \"name\" : \"Frodos Bike name is changed\", \"person\" : \"/people/2\" }" http://localhost:8080/bikes/1

Другие вопросы по тегам