@automatons/typescript-server-nextjs
v1.0.8
Published
[](https://github.com/openapi-automatons/typescript-server-nextjs/actions/workflows/ci-cd.yml) [ server generator for openapi-automatons.
From an OpenAPI document it generates:
models/— plain TypeScript types for every schemaservices/— one interface per tag: the contract you implement (your logic lives outside the generated code, so regenerating is always safe)handlers/— one factory per OpenAPI path building the Route Handlers object ({GET, POST, ...}). Handlers awaitcontext.params, read and coerce query parameters (answering400when a required one is missing), parse the JSON body, delegate to your service, and answer with the right status (200,201forPOST,204without a response schema)
This package is ESM-only and requires Node.js >= 22. Peer dependency: next 15 or 16.
Generated server
// your code — implement the generated contract
import { PetsService } from "@/generated/services";
import { Pet } from "@/generated/models";
export const petsService: PetsService = {
async listPets(status, limit, tags, deep): Promise<Pet[]> {
// ...your logic
},
// ...
};
// app/pets/[petId]/route.ts — mount the generated handlers
import { createPetsPetIdHandlers } from "@/generated/handlers";
import { petsService } from "@/services/pets";
export const { GET, DELETE } = createPetsPetIdHandlers(petsService);Every handler file documents the app/.../route.ts location it belongs to.
Not covered (yet): header/cookie parameters and non-JSON request bodies.
How can I use @automatons/typescript-server-nextjs?
Only use openapi-automatons.
This library is designed to be used by openapi-automatons. Please read the readme of openapi-automatons for how to use it.
