Bir RESTful hizmetine CRUD dışı işlemleri eklemenin "RESTful" yolu nedir? Aşağıdaki gibi kayıtlara CRUD erişimine izin veren bir hizmetim olduğunu varsayalım:
GET /api/car/123 <- Returns information for the Car object with ID 123
POST /api/car <- Creates a new car (with properties in the request)
PUT /api/car/123 <- Updates car 123 (with properties in the request)
DELETE /api/car/123 <- Deletes car 123
POST /api/car/123/wheel/ <- Creates a wheel and associates it to car 123
Arabanın rengini değiştirmek istersem, basitçe POST /api/car/123
ve yeni renk için bir POST değişkeni eklerim.
Ancak bir araba satın almak istediğimi varsayalım ve bu işlem bir "kullanıcı" kaydının "sahip olunan araba" özelliğini güncellemekten daha karmaşıktır. POST /api/car/123/purchase
"Satın alma" nın aslında bir yöntem adı olduğu gibi basitçe bir şey yapmak DİNLENMELİ midir? Veya PURCHASE
yerine özel bir HTTP fiili POST
mi kullanmalıyım ?
Veya CRUD dışı operasyonlar tamamen REST kapsamı dışında mı?
PATCH /api/car/123
bir renk parametresi kullanmakPUT /api/car/123
ve göndermek VEYA tüm araba nesnesini kullanmak ve göndermek daha iyi olacaktır . POST, yeni bir araba yarattığınız sonucuna