Most microservices today communicate with each other through REST services.
These serve their purpose well, as long as microservices do not require often variable and more complex data structures.
Some larger companies have already decided to use the GraphQL query language, where the client obtains only the data that is previously declaratively requested in the query.
As a result, no redundant queries or data are sent between the server and the client.
As part of the diploma thesis, we investigated the methods of high-performance implementation of GraphQL queries.
We compared the existing GraphQL platforms Apollo Server, Graphene Python and GraphQL Java.
We demonstrated the use of caching and persistent queries.
We created an example of a serverless GraphQL API, using GraphQL Apollo and Netlify technologies.
We used JWT token to show efficient queries with the use of authorization.