KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am writing a RESTful service for a customer management system and I am trying to find the best practice for updating records partially. For example, I want the caller to be able to read the full record with a GET request. But for updating it only certain operations on the record are allowed, like change the status from ENABLED to DISABLED. (I have more complex scenarios than this) I don't want the caller to submit the entire record with just the updated field for security reasons (it also feels like overkill). Is there a recommended way of constructing the URIs? When reading the REST books RPC style calls seem to be frowned upon. If the following call returns the full customer record for the customer with the id 123 GET /customer/123 <customer> {lots of attributes} <status>ENABLED</status> {even more attributes} </customer> how should I update the status? POST /customer/123/status <status>DISABLED</status> POST /customer/123/changeStatus DISABLED ... Update : To augment the question. How does one incorporate 'business logic calls' into a REST api? Is there an agreed way of doing this? Not all of the methods are CRUD by nature. Some are more complex, like ' sendEmailToCustomer(123) ', ' mergeCustomers(123, 456) ', ' countCustomers() ' POST /customer/123?cmd=sendEmail POST /cmd/sendEmail?customerId=123 GET /customer/count
Tags (comma-separated)
Save Edits
Cancel