spring-projects / spring-data-rest

Simplifies building hypermedia-driven REST web services on top of Spring Data repositories
https://spring.io/projects/spring-data-rest
Apache License 2.0
913 stars 561 forks source link

Changing the Relation of an unmanaged unexposed Entity via PATCH is not possible in 4.2.7 #2410

Open HannesRakete opened 1 month ago

HannesRakete commented 1 month ago

Example project to be found here: https://github.com/HannesRakete/spring-data-rest-patch

In spring boot 3.2.7 it is possible, to modify the relation of an unexposed Entity with PATCH on the spring data rest controller for the parent Entity. Same PATCH request in 3.3.2 returns 2xx but does not change the relation.

In an entity-graph, with 3 entities and the "middle" one not being exposed by spring data rest, it is now not possible any more, to change the relation to another entity.

Rough ERD: SchoolClass -1---n- Pupil -n---1- Course

SchoolClass and Course are exposed via spring data rest, Pupil is not. We did not find a way to manage the relationship between Pupil and Course through the spring data rest endpoint for SchoolClass.