https://blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/

https://hackernoon.com/restful-api-designing-guidelines-the-best-practices-60e1d954e7c9

https://addons.mozilla.org/de/firefox/addon/rester/

CRUD

Create

POST /resources
Content-type: application/json; charset=utf-8
Body: Resource to be created (all attributes, no id)
Constraints:
    - id in body will be ignored, a new resource will be created instead

201 CREATED
Content-type: application/json; charset=utf-8
Body: Created resource (all attributes, with id)

Read

GET /resources/<id>
Constraints:
    - resource with id must exist

200 OK
Content-type: application/json; charset=utf-8
Body: Found resource (all attributes, with id)

404 Not found
No content

Update

PUT /resources/<id>
Content-type: application/json; charset=utf-8
Body: Resource to be updated (all attributes, with id)
Constraints:
    - resource with id must exist
    - id in path must match id in request body

200 OK
Content-type: application/json; charset=utf-8
Body: Updated resource (all attributes, with id)

404 Not found
No content

Remove

DELETE /resources/<id>
Constraints:
    - resource with id must exist

205 NO CONTENT
No content

404 Not found
No content