2024-11-17 05:33:39 +07:00
2024-09-30 01:13:55 +07:00
2024-10-16 16:16:00 +08:00
2022-11-12 10:09:01 +07:00
2022-12-06 22:55:56 +07:00
2024-07-16 18:57:35 +07:00
2024-07-15 17:38:36 +07:00
2024-07-15 17:38:36 +07:00
2024-10-09 02:00:59 +07:00
2024-11-17 05:33:39 +07:00
2022-11-12 10:09:01 +07:00
2024-11-17 05:33:39 +07:00
2024-02-26 18:16:17 +07:00

@elysiajs/swagger

Plugin for elysia to auto-generate Swagger page.

Installation

bun add @elysiajs/swagger

Example

import { Elysia, t } from 'elysia'
import { swagger } from '@elysiajs/swagger'

const app = new Elysia()
    .use(swagger())
    .get('/', () => 'hi', { response: t.String({ description: 'sample description' }) })
    .post(
        '/json/:id',
        ({ body, params: { id }, query: { name } }) => ({
            ...body,
            id,
            name
        }),
        {
            params: t.Object({
                id: t.String()
            }),
            query: t.Object({
                name: t.String()
            }),
            body: t.Object({
                username: t.String(),
                password: t.String()
            }),
            response: t.Object({
                username: t.String(),
                password: t.String(),
                id: t.String(),
                name: t.String()
            }, { description: 'sample description' })
        }
    )
    .listen(8080);

Then go to http://localhost:8080/swagger.

config

provider

@default 'scalar' Choose between Scalar & SwaggerUI

scalar

Customize scalarConfig, refers to Scalar config

swagger

Customize Swagger config, refers to Swagger 3.0.3 config

path

@default '/swagger'

The endpoint to expose Swagger

excludeStaticFile

@default true

Determine if Swagger should exclude static files.

exclude

@default []

Paths to exclude from the Swagger endpoint

Description
A plugin for Elysia to auto-generate Swagger page
Readme MIT 966 KiB
Languages
TypeScript 98.9%
JavaScript 1.1%