Skip to content

zoriya/elysia-swagger

This branch is 3 commits ahead of, 9 commits behind elysiajs/elysia-swagger:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8cbd254 Â· Jan 5, 2025
Sep 29, 2024
Oct 3, 2024
Jan 5, 2025
Jan 5, 2025
Nov 12, 2022
Dec 6, 2022
Jul 16, 2024
Jul 15, 2024
Dec 23, 2024
Nov 12, 2022
Sep 30, 2024
Jul 15, 2024
Jan 5, 2025
Jan 5, 2025
Jul 15, 2024
Feb 26, 2024

Repository files navigation

@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

About

A plugin for Elysia to auto-generate Swagger page

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 97.6%
  • JavaScript 2.2%
  • Nix 0.2%