3 ms·
Because you can have one server efficiently servicing multiple clients with different, unanticipated needs.
by kbutler 8y ago
Because you can have one server efficiently servicing multiple clients with different, unanticipated needs.
- pier25 8y agoSo, reducing server load? OTOH if the complexity is offset to the client, and you have multiple clients, then there is more complexity. No? (assuming you have multiples types of clients)
- kbutler 8y agoIt allows a server produced by one organization to provide an API that remains efficient for future clients produced by other organizations without either changing the API to meet the needs of the other clients or anticipating every client's needs. More to be economical in API design, rather than just server load and bandwidth.
- sken 8y agoBut the client already had to consider what data it needed. The only difference is that in a REST world it needed to make several calls to fetch all the data (often waiting for resource references in the nth response before being able to build the (n+1)th query) whereas now it can fetch them all in a single query. So if anything it reduces the client complexity, as well as making it much easier to extend the API to support new client requirements without having to resort to REST-style versioning.