OpenAPI

Одна команда перетворює Ваші моделі та маршрути на специфікацію OpenAPI 3.1.

Додано у 1.0

Hopak уже знає Ваш API: моделі оголошують поля, типи та обмеження; CRUD-маршрути генеруються з моделей. hopak openapi перетворює це знання на документ OpenAPI 3.1 — без жодної анотації.

hopak openapi                 # prints to stdout
hopak openapi --out api.json  # writes a file

Передавайте його одразу в генератор клієнта:

hopak openapi | bunx openapi-typescript /dev/stdin -o api.d.ts

Що Ви отримуєте

Власні маршрути

Написані вручну маршрути з’являються з узагальненою відповіддю 200. Щоб задокументувати такий маршрут відносно моделі, задайте openapi у defineRoute:

export const GET = defineRoute({
  handler: async (ctx) => { /* ... */ },
  openapi: { model: 'post', kind: 'read', summary: 'Fetch one post' },
});