Adonis Swagger
Create documentation easily in Adonis 4.x using Swagger 😍
Installation
adonis install adonis-swagger
Configuration
-
Register
SwaggerProvider
instart/app.js
:const providers =...'adonis-swagger/providers/SwaggerProvider' -
Other configuration please update the
config/swagger.js
file.
Sample Usage
-
Add new route
Route -
Create TestController using command adonis make:controller Test
'use strict'/*** @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 {const name = requestinput'name' 'Guess'response}moduleexports = TestController -
You can also define the schema in the Models
'use strict'const Model =/*** @swagger* definitions:* User:* type: object* properties:* id:* type: uint* username:* type: string* email:* type: string* password:* type: string* required:* - username* - email* - password*/moduleexports = User -
Or create a separate file containing documentation from the APIs in either JS or YAML formats, sample structure:
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.
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 AdonisJS for creating such a great framework.