Created by Sebastian Müller / sebastian.mueller@red6-es.de / @red6_es
A resource is similar to an object/document instance.
| HTTP method | Description | 
|---|---|
| GET | Retrieves a list of resources or a specific resource. | 
| PUT / PATCH | Updates a resource | 
| POST | Creates a new resources | 
| DELETE | Deletes a resource. | 
GET /resources - Retrieves a list of
                resources
              GET /resources/{id} - Retrieves a specific
                resource by ID
              PUT /resources/{id} - Updates resource by ID
              PATCH /resources/{id} - Partially updates
                resource by ID
              POST /resources - Creates a new resource
              DELETE /resources/{id} - Deletes resource by
                ID
              200 OK – [GET]
              201 CREATED – [POST/PUT/PATCH]
              204 NO CONTENT – [DELETE]
              400 INVALID REQUEST – [POST/PUT/PATCH]
              404 NOT FOUND – [*]
              500 INTERNAL SERVER ERROR – [*]
              
GET /persons/12345 HTTP/1.1
Host: pdb.hanse
Content-Type: application/json; charset=utf-8
{
  "id": "12345",
  "firstName": "Max",
  "lastName": "Mustermann"
}
				
GET /persons/12345/addresses HTTP/1.1
Host: pdb.hanse
Content-Type: application/json; charset=utf-8
[{
  "id": "67890",
  "street": "Siegfried-Wedells-Platz",
  "number": "1",
  "city": "Hamburg",
  "zip": "20354"
}]
				An example from GitHub's gist API:
PUT /gist/{id}/star - Star a gist
                DELETE /gist/{id}/star - Unstar a gist
                Query parameters are for like filtiering or sorting.
GET /persons?state=inactive - Retrieves a
                  list of inactive persons
                GET /persons?sort=-priority - Retrieves a
                  list of persons in descending order of priority
                For example, the recently updated persons query could be packaged up as:
GET /persons/recently_updated
                
					curl https://example.com/resources \
   -H "Accept: application/xml"
				Use URI and header together.
						curl https://example.com/v1/resources
					
						curl https://example.com/resources \
   -H "Version: v1"
					
					curl https://example.com/v1/resources \
   -H "Version: 2015-06-02"
				The URI has a major version and the header has date based sub-versions.
Always use SSL. No exceptions.
NO cookies or sessions