⬡ GraphQL Beginner

What are custom scalars in GraphQL?

Answer

GraphQL's built-in scalars (String, Int, Float, Boolean, ID) are limited. Custom scalars extend the type system for specialized value types. Common examples: scalar Date, scalar DateTime, scalar JSON, scalar URL, scalar EmailAddress, scalar UUID, scalar Upload (file uploads). Define in SDL: scalar DateTime. Implement with serialize (output → JSON), parseValue (variable input → internal), and parseLiteral (query literal → internal) functions. The graphql-scalars library provides production-ready implementations for 50+ common scalars. Example: a Date scalar can accept "2024-01-15" as input and return JavaScript Date objects to resolvers, while serializing to ISO strings in responses.