Clone wiki

rest-api-blueprint / Home

REST API Blueprint

As described in the overview, this project is an exploration into how best to create a REST API using Python (version 2.7) and the excellent micro-web framework Flask. The goal is to use this Example App to provide a clean exposition with code of my current (but ever evolving) tastes in the following areas:

  1. Automatically testing the API.
  2. Documenting the API.
  3. Authentication scheme.
  4. Versioning the API.
  5. Data
    1. Character encoding and unicode.
    2. Selecting and supporting the mime types.
    3. Validating incoming data
    4. Filtering the fetched results.
  6. Supporting different capabilities depending upon access rights.
  7. Full and standard support for the HTTP status codes.
  8. Supporting "web hooks" (URL callbacks).
  9. Ensuring Performance
  10. Separating the concerns of the REST API from the underlying model, entities, and workflow.
  11. Guidance on naming resources.