anomaly / lab-python-server

A template for building containerised web applications in Python with a recommended set o f dependencies and tooling
Apache License 2.0
11 stars 2 forks source link

Ensure that all API endpoints conform to HATEOAS #90

Open devraj opened 9 months ago

devraj commented 9 months ago

Is your feature request related to a problem? Please describe. Hypermedia as the engine of application state (HATEOAS) is a constraint of the REST application architecture that distinguishes it from other network application architectures.

With HATEOAS, a client interacts with a network application whose application servers provide information dynamically through hypermedia. A REST client needs little to no prior knowledge about how to interact with an application or server beyond a generic understanding of hypermedia.

Our APIs should be HATEOAS compatible.

Describe the solution you'd like I initially got reminded of this when I came across FastUI by @samuelcolvin which builds upon FastAPI, there are discussions on FastAPI about this, follow this discussion.

If you are wanting to understand the basic problem, then please read this essay

The task here is to provide a design pattern for APIs to implement when using this template.

Describe alternatives you've considered NA

Additional context