Bird
Raised Fist0
GraphQLquery~30 mins

Scalar types (String, Int, Float, Boolean, ID) in GraphQL - Mini Project: Build & Apply

Choose your learning style10 modes available
Building a GraphQL Schema with Scalar Types
📖 Scenario: You are creating a simple GraphQL API for a bookstore. The API needs to define a schema that includes different scalar types to represent book details.
🎯 Goal: Build a GraphQL schema that defines a Book type using scalar types: String, Int, Float, Boolean, and ID.
📋 What You'll Learn
Create a Book type with fields using the scalar types
Use ID for the book's unique identifier
Use String for the title and author
Use Int for the number of pages
Use Float for the price
Use Boolean for availability status
💡 Why This Matters
🌍 Real World
GraphQL schemas are used to define the structure of data in APIs, making it easier for clients to request exactly what they need.
💼 Career
Understanding scalar types in GraphQL is essential for backend developers building APIs and frontend developers querying data efficiently.
Progress0 / 4 steps
1
Define the Book type with ID and String fields
Create a GraphQL type called Book with two fields: id of type ID! and title of type String!.
GraphQL
Hint

Use ID! for unique identifiers and String! for text fields.

2
Add Int and Float fields to Book
Add two more fields to the Book type: pages of type Int! and price of type Float!.
GraphQL
Hint

Use Int! for whole numbers and Float! for decimal numbers.

3
Add Boolean field to Book
Add a available field of type Boolean! to the Book type to indicate if the book is in stock.
GraphQL
Hint

Use Boolean! for true/false values.

4
Add author field with String type
Add an author field of type String! to the Book type to store the author's name.
GraphQL
Hint

Use String! for text fields like author names.

Practice

(1/5)
1. Which of the following is NOT a standard GraphQL scalar type?
easy
A. Boolean
B. String
C. Date
D. ID

Solution

  1. Step 1: Recall standard GraphQL scalar types

    The standard scalar types are String, Int, Float, Boolean, and ID.
  2. Step 2: Identify the non-standard type

    Date is not a built-in scalar type in GraphQL; it requires a custom scalar.
  3. Final Answer:

    Date -> Option C
  4. Quick Check:

    Standard scalars exclude Date [OK]
Hint: Remember only 5 built-in scalars: String, Int, Float, Boolean, ID [OK]
Common Mistakes:
  • Thinking Date is built-in
  • Confusing ID with Int
  • Assuming Boolean is custom
2. Which of the following is the correct way to declare a field of type ID in a GraphQL schema?
easy
A. userId: id
B. userId: Int
C. userId: String!
D. userId: ID!

Solution

  1. Step 1: Understand GraphQL type syntax

    Types are case-sensitive; ID must be uppercase and non-null indicated by !.
  2. Step 2: Check each option

    userId: ID! uses correct type 'ID!' with uppercase and non-null. Others are either lowercase or wrong type.
  3. Final Answer:

    userId: ID! -> Option D
  4. Quick Check:

    ID type is uppercase and non-null with ! [OK]
Hint: ID type is uppercase and ! means non-null [OK]
Common Mistakes:
  • Using lowercase 'id'
  • Confusing ID with String
  • Omitting ! for required fields
3. Given this GraphQL query result for a field declared as Float:
{ price: 19 }
What is the actual type of the returned value?
medium
A. Float
B. String
C. Integer
D. Boolean

Solution

  1. Step 1: Understand GraphQL Float type

    Float represents decimal numbers but can also return whole numbers as floats.
  2. Step 2: Analyze the value 19

    Even though 19 looks like an integer, GraphQL returns it as a Float type because the field is Float.
  3. Final Answer:

    Float -> Option A
  4. Quick Check:

    Float fields return numbers as floats, even whole numbers [OK]
Hint: Float fields always return float type, even if whole number [OK]
Common Mistakes:
  • Assuming 19 is Integer
  • Thinking Float must have decimal point
  • Confusing with String
4. Identify the error in this GraphQL schema snippet:
type Product {
  id: ID
  name: String!
  price: float
  inStock: Boolean
}
medium
A. 'Boolean' should be lowercase 'boolean'
B. 'float' should be 'Float' with uppercase F
C. 'ID' should be 'Id' with lowercase d
D. 'String!' should be 'String' without exclamation mark

Solution

  1. Step 1: Check scalar type capitalization

    GraphQL scalar types are case-sensitive; 'Float' must be capitalized.
  2. Step 2: Verify other types

    'Boolean' and 'ID' are correctly capitalized; 'String!' is valid for non-null.
  3. Final Answer:

    'float' should be 'Float' with uppercase F -> Option B
  4. Quick Check:

    Scalar types must be capitalized exactly [OK]
Hint: Scalar types always start with uppercase letter [OK]
Common Mistakes:
  • Using lowercase scalar types
  • Changing Boolean case
  • Removing ! from non-null
5. You want to store a unique identifier for users that is a string but should never be null. Which scalar type and modifier combination is best in GraphQL schema?
hard
A. ID!
B. String
C. Int!
D. Boolean!

Solution

  1. Step 1: Understand the purpose of ID scalar

    ID is designed for unique identifiers and is serialized as string.
  2. Step 2: Ensure non-null constraint

    Adding ! means the field cannot be null, which fits the requirement.
  3. Final Answer:

    ID! -> Option A
  4. Quick Check:

    Use ID! for unique, non-null string identifiers [OK]
Hint: Use ID! for unique, required string IDs [OK]
Common Mistakes:
  • Using String without !
  • Using Int for string IDs
  • Using Boolean for IDs
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