I\'m new to REST and I\'ve observed that in some RESTful services they use different resource URI for update/get/delete and Create. Such as
From the API consumer's perspective, the endpoints should be predictable so
Ideally...
GET /resources should return a list of resources. GET /resource should return a 400 level status code.GET /resources/id/{resourceId} should return a collection with one resource.GET /resource/id/{resourceId} should return a resource object.POST /resources should batch create resources.POST /resource should create a resource.PUT /resource should update a resource object.PATCH /resource should update a resource by posting only the changed attributes.PATCH /resources should batch update resources posting only the changed attributes.DELETE /resources should delete all resources; just kidding: 400 status codeDELETE /resource/id/{resourceId}This approach is the most flexible and feature rich, but also the most time consuming to develop. So, if you're in a hurry (which is always the case with software development) just name your endpoint resource or the plural form resources. I prefer the singular form because it gives you the option to introspect and evaluate programmatically since not all plural forms end in 's'.
Having said all that, for whatever reason the most commonly used practice developer's have chosen is to use the plural form. This is ultimately the route I have chosen and if you look at popular apis like github and twitter, this is what they do.
Some criteria for deciding could be:
So it's up to you. Just whatever you do be consistent.