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
Step 1: Understand list notation in GraphQL
Square brackets [] indicate a list type that holds multiple values of the same type.
Step 2: Interpret [Int]
This means a list containing zero or more integers.
Final Answer:
A collection of integers -> Option C
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
Step 1: Recall GraphQL list syntax
GraphQL uses square brackets [] around a type to define a list.
Step 2: Identify correct option
[String] is the correct way to define a list of strings in GraphQL.
Final Answer:
[String] -> Option B
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
Step 1: Understand the field type
favoriteNumbers is a list of integers, so the response must be a list (array) of numbers.
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.
Final Answer:
[1, 2, 3] -> Option D
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
Step 1: Check list type syntax
List types require both opening and closing square brackets around the type.
Step 2: Locate syntax error
The closing bracket "]" is missing after String, causing a syntax error.
Final Answer:
Missing closing bracket "]" for the list type -> Option A
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
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.
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.
Final Answer:
[Int!] -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.