REST API
Multiple Endpoints: A REST API usually has different endpoints for different resources (e.g.,
/users
,/orders
).Fixed Data Structure: The server determines the structure and amount of data returned, which can sometimes result in over-fetching or under-fetching.
Predefined Responses: Each endpoint returns a fixed set of data, and customizing the response requires modifying the endpoint or adding new one
Less Flexible: Clients typically receive a full resource representation, and changes to the data format may require updates to the server or API versioning.
Multiple Requests: Nested or related data often requires multiple API calls, potentially leading to performance inefficiencies.
Versioning Required: REST often uses versioning (e.g.,
/api/v1/
) to manage changes and avoid breaking existing clients. This can lead to version sprawl over time.Separate Error Responses: Errors are usually returned in different HTTP status codes (e.g.,
404
,500
), making it simpler but also less flexible in terms of combining partial data with errors.No Type System: REST APIs do not inherently include a type system. JSON Schema or similar tools can be used, but they are not part of the REST standard.
REST API Example
Endpoint 1:
/users/1
(to get user details)Endpoint 2:
/users/1/posts
(to get the user's posts)
Request 1 (Get user details):
Response:
Request 2 (Get user's posts):
Response:
Last updated