Summary
In this chapter, we've learned about GraphQL and how it addresses some of the gaps in REST. We've also learned how to create and consume GraphQL services using MP GraphQL, without the overhead of maintaining a schema in addition to Java code. We've learned that we can build queries and mutations by applying annotations to our API classes and that we can enrich them by adding descriptions, parameters, formatting, and more. By outsourcing, we've learned that we can avoid executing expensive operations when they are not necessary. We've also learned how to send partial results when exceptions occur. We've learned that there are some useful tools such as GraphiQL that can simplify testing. And while the client APIs aren't fully supported from the specification, we've been able to view two different clients, and we've seen how we could use them for integration testing or to consume GraphQL services.
With what we've learned in...