Server-Side GraphQL in Node.js is a training course that builds the GraphQL API on Node.js servers using Apollo Server. GraphQL is an open source query and data manipulation language for the API (Application Programming Interface). GraphQL was first used by Facebook in 2012, then released to the public in 2015 and made available to other developers. GraphQL has attracted a lot of fans so far because it allows users to define the data structure they need and return the same data structure from the server.
In the Server-Side GraphQL in Node.js course, first instructor Mr. Scott Moss introduces you to GraphQL, then explains how GraphQL works on both the user and server side. It then explains that to create a GraphQL server, you must first create a template using the template definition language, or SDL, and review the basic parts of the schema. The next step shows how to build a simple GraphQL server encoding typeDefs, solvents, and an Apollo server. The purpose of this section is to demonstrate a simple method of GraphQL operations before starting a more detailed description. In the following sections, you will be fully taught issues such as queries, solutions, arguments, input types, jumps, advanced SQL, and so on.
- Publisher: Frontend Masters
- Instructor: Scott Moss
- language: English
- Level of training: basic to advanced
- Number of lessons: 28 lessons in 6 sections
- Duration: 3 hours and 24 minutes
00:00:00 – 00:11:48
Scott Moss defines GraphQL as a declarative query language, explains how GraphQL works both on the client and the server side.
00:11:49 – 00:14:01
Scott explains that in order to create a GraphQL server, a schema must first be created using a schema definition language, or SDL, and reviews the basic parts of a schema.
00:14:02 – 00:26:36
Scott demonstrates how to build a basic GraphQL server by coding typeDefs, resolvers, and an Apollo server. The goal of this section is to demonstrate the simple way GraphQL functions before diving into more detailed explanations.
2.Queries & Resolvers
00:26:37 – 00:33:29
Scott defines query types as object types, and demonstrates how to build a query. Questions from the audience about syntax and the use of queries are also answered.
00:33:30 – 00:44:58
Scott defines resolvers as functions responsible for returning values for fields on a type, and explains that to create a server with GraphQL a query type with a field and a resolver for that field are needed.
Query Types Exercise
00:44:59 – 00:52:35
After Scott walks through the code repository and specifies which files will be updated over the course of the workshop, students are instructed to create a query type based off an array.
Query Types Solution
00:52:36 – 01:05:58
Scott live codes the solution to the query types exercise.
01:05:59 – 01:16:20
Scott explains that each field has its own resolver, demonstrates what default resolvers are, and answers questions from the audience about top level and field specific resolvers.
3.Arguments & Input Types
01:16:21 – 01:21:28
Scott explains that arguments allow clients to pass variables along with queries, and that they can be used in resolvers to get data. Arguments must be defined in the schema, but can be added to any field.
01:21:29 – 01:25:06
Scott defines input types as types for arguments, and how all the fields in input types can be other input types or scholars.
Arguments & Input Types Demo
01:25:07 – 01:30:56
Scott demonstrates how to code a type, an input type, how to query a type, and how to add arguments to a resolver.
Arguments & Input Types Exercise
01:30:57 – 01:37:49
Students are instructed to create an input type, add arguments to queries, and use arguments in the query field resolvers to filter data. Scott answers questions from the audience about querying.
Arguments & Input Types Solution
01:37:50 – 01:48:28
Scott live codes the solution to the arguments and input type exercise.
01:48:29 – 01:57:35
Scott explains that a mutation is a type on a schema that defines operations clients can perform to create, update, or delete data.
01:57:36 – 01:59:43
Students are instructed to define a mutation type in the schema, add fields to the mutation type, create input types or mutation field arguments and create resolvers for the mutation fields.
01:59:44 – 02:08:06
Scott live codes the solution to the mutation exercise.
02:08:07 – 02:13:03
Scott explains that enums are a set of discrete values that allow limiting a field to a few different options, and demonstrates how to add an enum to a type.
02:13:04 – 02:21:49
Scott explains that if there are two or more types with common fields, an interface allows types to share fields, and allows the client to make one query instead of multiple when looking for a field. An interface can resolve all the types that belongs to it.
02:21:50 – 02:27:51
Scott answers questions from the audience regarding interfaces and data sources, how to uncover the type of a type, and the GraphQL syntax.
02:27:52 – 02:34:31
Scott explains that unions are similar to interfaces, because they give access to types. However, unlike interfaces, they can access types that have no fields in common with a single query. Questions from the audience are answered.
02:34:32 – 02:38:06
Scott explains that in GraphQL, APIs are set of nodes linked to other nodes, and defines a relationship to be adding a type as a field value on another type.
02:38:07 – 02:48:42
Scott demonstrates how to use field level resolvers to write relationships between types.
02:48:43 – 02:51:12
Students are instructed to add new fields on types that reference other types and create resolvers for field types that point to other types.
Relationships Solution: Adding Fields on Types
02:51:13 – 02:54:34
Scott live codes the first part of the solution to the relationships exercise by first adding new fields to different types.
Relationships Solution: Adding Resolvers
02:54:35 – 03:07:50
Scott continues to live code the solution to the relationships exercise by adding field resolvers, and making the querying of data possible.
03:07:51 – 03:12:40
Scott answers questions from the audience regarding queries in GraphQL, field level resolvers, and the rthe order queries run in.
03:12:41 – 03:18:33
Scott demonstrates how to add authentication to an Apollo server, and explains that the level of authentication depends on what needs to be protected within the schema. Request level caching to avoid querying the database each time is also discussed.
03:18:34 – 03:24:48
Scott answers questions about concurrency, resolvers, and GraphQL gateways, shares open source projects using GraphQL (Prisma Hesura, GraphQL yoga etc.), and wraps up the course.
After Extract, watch with your favorite Player.
File(s) password : www.downloadly.ir