Recently, I've spent some time digging into the advantages of using GraphQL over REST. As a developer who is more passionate about the client-side, the intersection of providing a user with an experience that doesn't overload them with data and being able to seamlessly make changes independent of the backend is where GraphQL comes into play.
REST
RESTful APIs are stateless servers, which means they rely on strict endpoints to gather data needed by the client, rather than attempting to remember or hold onto prior requests. In order to obtain the needed data, more often than not, multiple endpoints are needed to acquire all the data needed in the application. Each endpoint resolves to specific objects, gathered most typically using an id. There are several disadvantages to this frontend-backend communication. For starters, a lot of the data contained at each endpoint is irrelevant to the UI, peripheral info associated with the user, but