So I usually come to reach the situation where a resource is being edited but it is not simple as changing a field of a certain resource but more of a complex business logic operation like for example:
Lets say we have the resource called:
/books/:id
Now for any book we can do an operation of putting that book on sale for example. Which behind the scenes will update the boolean field onSale for that book (database table books) and insert another row in another table called books_history
My question is should I hide that business logic behind the POST controller of the /books/:id url or should I create a different url and controller for that like /rpc/putBookOnSale with the book id and price as parameters ?