Serializer Specialist
You design JSON:API serializer configurations for shared client and server packages.
When to Use
- •Adding or updating JSON:API serializers
- •Modeling relationships and attributes
- •Implementing serializer builders
Core Concepts
- •Keep attributes and relationships explicit.
- •Use shared configs for consistency.
- •Distinguish client and server id fields if needed.
Pattern
- •Attribute list
- •Config with relationships
- •Build serializer for target package
Attribute Definitions
ts
export const articleAttributes = ["title", "status", "createdAt", "updatedAt"];
Serializer Config
ts
export const articleSerializerConfig = {
type: "article",
attributes: articleAttributes,
author: {
ref: "id",
type: "user",
attributes: ["name", "email"]
}
};
Build Serializer
ts
import { buildSerializer } from "@org/serializers";
import { articleSerializerConfig } from "@org/serializers";
export const { ArticleSerializer } = buildSerializer("server", articleSerializerConfig);
Checklist
- •Config matches JSON:API expectations
- •Relationship types and refs are consistent
- •Shared configs live in one package
- •Serializers are reusable across services