adonis-swagger

Swagger Provider for Adonis

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
adonis-swagger
1.2.95 years ago6 years agoMinified + gzip package size for adonis-swagger in KB

Readme

Adonis Swagger
npm version build status npm npm Coverage Status Create documentation easily in Adonis 4.x using SwaggerSwagger 😍
Installation
``` adonis install adonis-swagger ```
Configuration
  • Register SwaggerProvider in start/app.js:
```js const providers =
...
'adonis-swagger/providers/SwaggerProvider'
```
  • Other configuration please update the config/swagger.js file.
Sample Usage
  • Add new route
```js Route.get('/api/hello', 'TestController.hello') ```
  • Create TestController using command adonis make:controller Test
```js 'use strict' class TestController {
/**
* @swagger
* /api/hello:
*   get:
*     tags:
*       - Test
*     summary: Sample API
*     parameters:
*       - name: name
*         description: Name of the user
*         in: query
*         required: false
*         type: string
*     responses:
*       200:
*         description: Send hello message
*         example:
*           message: Hello Guess
*/
async hello({ request, response }) {
const name = request.input('name', 'Guess')
response.send({ message: 'Hello ' + name })
}
} module.exports = TestController ```
  • You can also define the schema in the Models
```js 'use strict' const Model = use('Model') / @swagger definitions: User: type: object properties: id: type: uint username: type: string email: type: string password: type: string required: - username - email - password / class User extends Model { } module.exports = User ```
  • Or create a separate file containing documentation from the APIs in either JS or YAML formats, sample structure:
```bash project ├── app ├── config ├── docs │ ├── controllers │ │ ├──
/.js │ │ ├── /.yml │ └── models │ ├── /.js │ ├── /.yml ```
  • Other sample in YAML and JS format please refer this link
Open http://localhost:3333/docs in your browser, ayeey 🎉
For detail usage, please check the swagger specification in this link
SwaggerSpec.
Command List
Command | Description :-----------------------------|:----------- adonis swagger:export | Export config file & swagger-ui assets adonis swagger:remove | Remove config file & swagger-ui assets adonis swagger:remove-docs | Remove swagger-ui only
Dependencies
Thanks
Special thanks to the creator(s) of AdonisJSAdonisJS for creating such a great framework.