Bird
Raised Fist0
GraphQLquery~15 mins

List types in GraphQL - Mini Project: Build & Apply

Choose your learning style10 modes available
GraphQL List Types Practice
📖 Scenario: You are building a simple GraphQL schema for a bookstore. You want to store a list of book titles available in the store.
🎯 Goal: Create a GraphQL schema that defines a Bookstore type with a field books that is a list of strings representing book titles.
📋 What You'll Learn
Define a GraphQL type called Bookstore
Add a field called books to Bookstore
The books field must be a list of strings
Use proper GraphQL list syntax for the books field
💡 Why This Matters
🌍 Real World
GraphQL schemas often need to represent collections of items, like lists of books, users, or products.
💼 Career
Understanding list types and nullability in GraphQL is essential for backend developers working with APIs.
Progress0 / 4 steps
1
Define the Bookstore type
Create a GraphQL type called Bookstore with no fields yet.
GraphQL
Hint

Start by writing type Bookstore { } to define the type.

2
Add the books field
Inside the Bookstore type, add a field called books with type [String] to represent a list of book titles.
GraphQL
Hint

Use square brackets [] around String to make it a list type.

3
Make the books list non-nullable
Modify the books field so that the list itself cannot be null by adding an exclamation mark ! after the list type.
GraphQL
Hint

Add ! after the list type to make the list non-nullable.

4
Make the book titles non-nullable
Modify the books field so that each book title inside the list is also non-nullable by adding an exclamation mark ! after String inside the list.
GraphQL
Hint

Add ! after String inside the brackets to make each item non-nullable.

Practice

(1/5)
1. What does a list type in GraphQL represent?
[Int] means a list of what?
easy
A. A string value
B. A single integer
C. A collection of integers
D. A boolean value

Solution

  1. Step 1: Understand list notation in GraphQL

    Square brackets [] indicate a list type that holds multiple values of the same type.
  2. Step 2: Interpret [Int]

    This means a list containing zero or more integers.
  3. Final Answer:

    A collection of integers -> Option C
  4. Quick Check:

    List type = multiple values [OK]
Hint: Square brackets mean list of that type [OK]
Common Mistakes:
  • Thinking it holds a single value
  • Confusing list with string or boolean
  • Ignoring the brackets meaning
2. Which of the following is the correct syntax to define a list of strings in GraphQL?
easy
A. string[]
B. [String]
C. (String[])
D. {String}

Solution

  1. Step 1: Recall GraphQL list syntax

    GraphQL uses square brackets [] around a type to define a list.
  2. Step 2: Identify correct option

    [String] is the correct way to define a list of strings in GraphQL.
  3. Final Answer:

    [String] -> Option B
  4. Quick Check:

    List syntax = brackets around type [OK]
Hint: Use square brackets around type for lists [OK]
Common Mistakes:
  • Using language-specific syntax like string[]
  • Using parentheses or curly braces instead of brackets
  • Missing brackets entirely
3. Given this GraphQL schema snippet:
type Query {
  favoriteNumbers: [Int]
}

What is a valid response for favoriteNumbers?
medium
A. {1, 2, 3}
B. 42
C. "[1, 2, 3]"
D. [1, 2, 3]

Solution

  1. Step 1: Understand the field type

    favoriteNumbers is a list of integers, so the response must be a list (array) of numbers.
  2. Step 2: Check each option

    [1, 2, 3] is a list of integers. 42 is a single integer, not a list. "[1, 2, 3]" is a string, not a list. {1, 2, 3} uses curly braces which is invalid syntax.
  3. Final Answer:

    [1, 2, 3] -> Option D
  4. Quick Check:

    List field returns list value [OK]
Hint: List fields return arrays, not single values [OK]
Common Mistakes:
  • Returning a single value instead of a list
  • Returning a string instead of a list
  • Using wrong brackets for lists
4. Identify the error in this GraphQL list type declaration:
type User {
  tags: [String
}
medium
A. Missing closing bracket "]" for the list type
B. List types cannot hold strings
C. Square brackets should be replaced with parentheses
D. Field name cannot be "tags"

Solution

  1. Step 1: Check list type syntax

    List types require both opening and closing square brackets around the type.
  2. Step 2: Locate syntax error

    The closing bracket "]" is missing after String, causing a syntax error.
  3. Final Answer:

    Missing closing bracket "]" for the list type -> Option A
  4. Quick Check:

    List syntax needs matching brackets [OK]
Hint: Always close brackets in list types [OK]
Common Mistakes:
  • Forgetting the closing bracket
  • Using wrong brackets like parentheses
  • Thinking list can't hold strings
5. You want to define a GraphQL field that can return null or a list of non-null integers, but the list itself can be empty. Which type declaration is correct?
hard
A. [Int!]
B. [Int]!
C. [Int!]!
D. Int!

Solution

  1. Step 1: Understand non-null and list syntax

    Int! means non-null integer, [Int!] means list of non-null integers, list itself can be null or empty.
  2. Step 2: Analyze options

    [Int!]: List of non-null integers, list nullable (can be empty).[Int]!: Non-null list of nullable integers.[Int!]!: Non-null list of non-null integers (list cannot be null).Int!: Single non-null integer, not a list.
  3. Final Answer:

    [Int!] -> Option A
  4. Quick Check:

    Non-null items inside nullable list = [Int!] [OK]
Hint: Non-null items inside list use [Type!] [OK]
Common Mistakes:
  • Making list itself non-null when it should be nullable
  • Confusing non-null item vs non-null list
  • Using single type instead of list
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard