Code Fellows Notes
Representational State Transfer
REST APIs are designed around resources, which are any kind of object, data, or service that can be accessed by the client.
A resource has an identifier, which is a URI that uniquely identifies that resource. For example, the URI for a particular customer order might be:
https://adventure-works.com/orders/1
GET, POST, PUT, PATCH, and DELETE.
Adopt a consistent naming convention in URIs. In general, it helps to use plural nouns for URIs that reference collections
It’s a good practice to organize URIs for collections and items into a hierarchy. For example, /customers is the path to the customers collection, and /customers/5 is the path to the customer with ID equal to 5. This approach helps to keep the web API intuitive.
“chatty” web APIs expose a large number of small resources. Such an API may require a client application to send multiple requests to find all of the data that it requires, which is a bad thing
A successful GET method typically returns HTTP status code 200 (OK).
If the resource cannot be found, the method should return 404 (Not Found).
If a POST method creates a new resource, it returns HTTP status code 201 (Created).
Alternatively, if there is no result to return, the method can return HTTP status code 204 (No Content) with no response body.
If the client puts invalid data into the request, the server should return HTTP status code 400 (Bad Request).