Aspect-Oriented GraphQL
摘要
In this paper we apply the aspect-oriented programming paradigm to GraphQL, a query language for web services. Aspect-oriented programming is a technique to quickly and easily add support for cross-cutting concerns to programs. Data also has cross-cutting concerns such as provenance, versioning, and testing. These cross-cutting data concerns can be represented as advice that annotates data. This paper shows how to add support for aspect-oriented advice to GraphQL schemas and queries to create Aspect-oriented GraphQL. We describe a software architecture that leverages GraphQL itself to implement Aspect-oriented GraphQL.