POST should return a redirect to the new URL for the individual element.
You probably want to lose the URL version identifier.
Instead, create your views and clients in a way that gracefully handles different versions. For example, the client should not depend on a specific format, but only on the attributes that it really needs.
Some drawback in your description is the HATEOAS principle, that is, the client does not have to hard-code any URLs, but find URLs for further actions inside the representation of other objects. Since you are not showing a sample document for the results returned by URLs, we cannot say if you did it beautifully.
Check out this presentation , it explains this topic, and also mentions some Spring library useful for implementing it.
Jens schauder
source share