Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elysiajs/elysia-swagger
A plugin for Elysia to auto-generate Swagger page
https://github.com/elysiajs/elysia-swagger
Last synced: 3 days ago
JSON representation
A plugin for Elysia to auto-generate Swagger page
- Host: GitHub
- URL: https://github.com/elysiajs/elysia-swagger
- Owner: elysiajs
- License: mit
- Created: 2022-12-04T14:04:26.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-28T12:11:58.000Z (16 days ago)
- Last Synced: 2024-12-05T11:07:07.919Z (9 days ago)
- Language: TypeScript
- Homepage:
- Size: 724 KB
- Stars: 90
- Watchers: 2
- Forks: 46
- Open Issues: 65
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-elysia - swagger - Plugin to auto-generate Swagger page. (Plugins)
README
# @elysiajs/swagger
Plugin for [elysia](https://github.com/elysiajs/elysia) to auto-generate Swagger page.## Installation
```bash
bun add @elysiajs/swagger
```## Example
```typescript
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](https://github.com/scalar/scalar) & [SwaggerUI](https://github.com/swagger-api/swagger-ui)## scalar
Customize scalarConfig, refers to [Scalar config](https://github.com/scalar/scalar/blob/main/documentation/configuration.md)## swagger
Customize Swagger config, refers to [Swagger 3.0.3 config](https://swagger.io/specification/v3)## path
@default '/swagger'The endpoint to expose Swagger
## excludeStaticFile
@default trueDetermine if Swagger should exclude static files.
## exclude
@default []Paths to exclude from the Swagger endpoint