Back

GraphQL (STA_GRAPHQL)


GraphQL Course Overview GraphQL is a query language for APIs and a query runtime engine. It's an increasingly popular alternative to REST given it enables the client to specify the shape of the representation and it minimises the number of requests required to obtain the desired data. This course comprises sessions dealing with prerequisite topics including HTTP and REST APIs,core GraphQL theory,the building of GraphQL services and clients,queries,types,and yet more GraphQL theory including introspection and best practices. Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered. Delegates have the option of coding in either Java,Python,or JavaScript.

TARGET AUDIENCE:
Who will the Course Benefit? This course will benefit developers who are required to build or maintain GraphQL services and/or clients,and anyone otherwise interested in what a GraphQL service is,how it works,and how to build a good one.

COURSE PREREQUISITES:
Requirements Delegates attending this course should have some knowledge of,or experience in,software development. Ideally delegates will be comfortable coding in Java,Python,or JavaScript to a fundamental level.

COURSE CONTENT:
GraphQL Training Course Course Contents – DAY 1 Course Introduction • Administration and Course Materials • Course Structure and Agenda • Delegate and Trainer Introductions Session 1: PREREQUISITES • APIs • Web apps • Web services • HTTP • JSON • Serialisation • REST APIs Session 2: GRAPHQL THEORY • The problem with REST APIs • What is GraphQL? • The composition of a GraphQL service • Queries and mutations • Schemas and types Session 3: GRAPHQL SERVICES • Building a GraphQL service with: • Spring Boot (Java) or; • Ariadne (Python) or; • Apollo (JavaScript) Session 4: GRAPHQL CLIENTS • Building a GraphQL client with: • HttpClient (Java) or; • GQL (Python) or; • Apollo (JavaScript) GraphQL Training Course Course Contents – DAY 2 Session 5: QUERIES • Arguments • Aliases • Fragments • Operation names • Variables • Directives Session 6: TYPES • Arguments • Lists • Non-null fields • The query and mutation types • Scalar types • Enum types • Union types • Input types • Interfaces Session 7: MORE GRAPHQL THEORY • Validation • Execution • Introspection • Best practices

COURSE OBJECTIVE:
Course Objectives This course aims to provide the delegate with the skills and knowledge necessary to design and build good quality GraphQL services.

FOLLOW ON COURSES:
Further Learning Core Spring (4 day) Python Programming 2 Developing Node.js Web Applications REST APIs