@kingworldjs/swagger
v0.0.0-experimental.3
Published
A plugin for kingworld to auto-generate Swagger page
Downloads
4
Readme
@kingworldjs/swagger
A plugin for kingworld to auto-generate Swagger page.
Installation
bun add @kingworldjs/swagger
Example
import { KingWorld } from 'kingworld'
import { swagger } from '@kingworldjs/swagger'
const app = new KingWorld()
.use(swagger())
.get('/', () => 'hi')
.get('/unpath/:id', ({ params: { id } }) => id)
.get('/unpath/:id/:name', ({ params: { id, name } }) => `${id} ${name}`)
.post(
'/json/:id',
({ body, params: { id }, query: { name } }) => ({
...body,
id,
name
}),
{
schema: {
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()
})
}
}
)
.listen(8080)
Then go to http://localhost:8080/swagger
.
config
swagger
Customize Swagger config, refers to Swagger 2.0 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