anomaly / anomaly/lab-python-server

Ensure that all API endpoints conform to HATEOAS

Open
#90 0 comments 0 reactions 1 assignee Claimed by @devraj View on GitHub
Dominant language
Python
Stars
16
Forks
4
PR merge metrics
No merged PRs in 30d

Description

**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](https://en.wikipedia.org/wiki/Representational_state_transfer) that distinguishes it from other network [application architectures](https://en.wikipedia.org/wiki/Application_architecture).

With HATEOAS, a client interacts with a network application whose application servers provide information dynamically through [hypermedia](https://en.wikipedia.org/wiki/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](https://github.com/samuelcolvin/FastUI) by @samuelcolvin which builds upon FastAPI, there are discussions on FastAPI about this, [follow this discussion](https://github.com/tiangolo/fastapi/discussions/7746).

If you are wanting to understand the basic problem, then please [read this essay](https://htmx.org/essays/how-did-rest-come-to-mean-the-opposite-of-rest/)

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**
- [HATEOAS](https://en.wikipedia.org/wiki/HATEOAS#:~:text=Hypermedia%20as%20the%20engine%20of,provide%20information%20dynamically%20through%20hypermedia.)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.