Bird
Raised Fist0
GraphQLquery~5 mins

List types in GraphQL

Choose your learning style10 modes available
Introduction

List types let you store multiple values of the same kind together. It helps when you want to group related items in one place.

When you want to get a list of books from a library database.
When you need to store multiple phone numbers for one person.
When you want to return all comments on a blog post.
When you want to send a list of products in a shopping cart.
When you want to show all friends of a user in a social app.
Syntax
GraphQL
type ExampleType {
  fieldName: [Type]
}

Square brackets [] around a type mean it is a list of that type.

The list can have zero or more items.

Examples
This means a user has a name and a list of favorite colors.
GraphQL
type User {
  name: String
  favoriteColors: [String]
}
A post has a title and a list of tags.
GraphQL
type Post {
  title: String
  tags: [String]
}
A library has a list of books, each book has a title and author.
GraphQL
type Library {
  books: [Book]
}

type Book {
  title: String
  author: String
}
Sample Program

This GraphQL schema defines a user with a list of favorite colors. The query asks for the user's name and all their favorite colors.

GraphQL
type Query {
  getUser: User
}

type User {
  name: String
  favoriteColors: [String]
}

# Sample query to get user data
query {
  getUser {
    name
    favoriteColors
  }
}
OutputSuccess
Important Notes

Lists can be empty, which means no items are present.

You can have lists of any type, including custom types.

Remember to use square brackets [] to mark a field as a list.

Summary

List types hold multiple values of the same type.

Use square brackets [] to define a list.

Lists can be empty or have many items.

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