Graphql API Design, Paperback/Matthias Biehl
Descriere
Description Want to build APIs like Facebook? Since Facebook's framework for building APIs, Graph QL, has become publicly available, this ambition seems to be within reach for many companies. And that is great. But first, let's learn what Graph QL really is and - maybe even more importantly - let's figure out how to apply Graph QL to build APIs that consumers love. In this book, we take a hands-on approach to learning Graph QL. We first explore the concepts of the two Graph QL languages using examples. Then we start writing some code for our first Graph QL API. We develop this API step by step, from creating a schema and resolving queries, over mocking data and connecting data sources all the way to developing mutations and setting up event subscriptions. Are your API consumers important to you? This book shows you how to apply a consumer-oriented design process for Graph QL APIs, so you can deliver what your consumers really want: an API that solves their problems and offers a great developer experience. Do you want to enable the API consumers so they can build great apps? This book explains the Graph QL query language, which allows the API consumers to retrieve data, write data and get notified when data changes. More importantly, you let them decide, which data they really need from the API. Do you want to make your API easy and intuitive to use? This book shows you how to use the Graph QL schema language to define a type system for your API, which serves as a reference documentation and helps your API consumers write queries that are syntactically correct. Do you want to profit from what has worked for others? This book provides a collection of best practices for Graph QL that have worked for other companies, e. g. regarding pagination, authentication and caching. Graph QL and REST are competing philosophies for building APIs. It is not in the scope of this book to compare or discuss the two approaches. The focus of this book is on a hands-on approach for learning Graph QL.