REST
REST defines architectural constraints for distributed interfaces. Resources, stateless requests and links are part of the approach.
Accessing resources through a uniform interface
REST stands for Representational State Transfer and names an architectural style. Applications exchange representations of resources, such as a project's current state. Its constraints include separating client and server, stateless requests, identifying whether responses can be cached and a uniform interface. Links in representations guide further possible steps; an HTTP address returning JSON alone does not meet these constraints.
In a fictional project portal, the application requests a project representation with GET /projects/P-42. It also contains a link to /projects/P-42/tasks, intended to provide access to the associated tasks. Both paths are our own design examples. The request must carry the information the server needs to understand it; the server should not need to reconstruct a previous conversation with this client. Project data can still be stored persistently. Stateless here describes communication, not the absence of a database.
An integration team therefore needs to examine how resources, links, permissions and the reuse of responses are actually governed. The REST label alone does not answer those questions.
Sources
Related terms
- APIAn API defines how software can use functions or data offered by other software.
- GraphQLGraphQL lets applications request fields through a typed API schema. The server remains responsible for data access and permissions.
- OpenAPIOpenAPI describes HTTP interfaces in machine-readable form, including paths, parameters and responses. The description must match the running service.
- Server-sent eventsServer-sent events carry text notifications from server to client over HTTP, for example about the progress of a background job.
- Entity tagAn ETag identifies a particular representation version of an HTTP resource and supports conditional reads or changes.
- Cross-Origin Resource SharingCORS controls browser access to responses across origin boundaries. It replaces neither API login nor permission checks.
Your project with ASES
Describe your project to us. We will get back to you with an initial assessment.