Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

GraphQL Basics - GraphQL Scalars

Overview of Scalar Types

Scalar types in GraphQL are the basic data types that represent single values. They are the building blocks for creating schemas and define the types of data that can be queried or mutated.

Key Points:

  • Scalar types are the fundamental data types in GraphQL.
  • They include Int, Float, String, Boolean, and ID.
  • Custom scalar types can be defined for more complex data needs.

Core Scalar Types

Int

Represents a signed 32-bit integer. It is commonly used for numeric values such as IDs and counts.

Float

Represents a signed double-precision 64-bit binary format. It is used for fractional numbers.

String

Represents textual data. Strings are often used for names, descriptions, and other text-based fields.

Boolean

Represents a true or false value. This is typically used for flags and conditions.

ID

Represents a unique identifier. It is often used to refer to objects and is serialized as a String.

Custom Scalars

In addition to the built-in scalar types, you can define custom scalars to handle specific data formats or validation requirements.


// Example: Defining a custom scalar for Date
scalar Date
          

Using Scalars in Schemas

Scalar types are used in GraphQL schemas to define the types of fields in an object type.


// Example: Using scalars in a schema
type User {
  id: ID!
  name: String!
  age: Int
  isActive: Boolean!
}
          

Best Practices for Using Scalars

Follow these best practices when working with scalar types:

  • Use Built-in Scalars: Prefer built-in scalar types unless you have specific needs that require custom types.
  • Define Custom Scalars Wisely: Use custom scalars for validation or formatting needs that can't be addressed with built-in types.
  • Document Scalar Types: Clearly document the usage of scalar types in your API to help consumers understand the expected formats.

Summary

This guide provided an overview of scalar types in GraphQL, including their definition, core types, and usage in schemas. Understanding scalar types is essential for building effective GraphQL APIs.