New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

adonis-swagger

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

adonis-swagger

Swagger Provider for Adonis

latest
Source
npmnpm
Version
1.2.9
Version published
Maintainers
1
Created
Source

Adonis Swagger

npm version build status npm npm Coverage Status

Create documentation easily in Adonis 4.x using Swagger 😍

Installation

adonis install adonis-swagger

Configuration

  • Register SwaggerProvider in start/app.js:

    const providers = [
      ...
      'adonis-swagger/providers/SwaggerProvider'
    ]
    
  • Other configuration please update the config/swagger.js file.

Sample Usage

  • Add new route

    Route.get('/api/hello', 'TestController.hello')
    
  • Create TestController using command adonis make:controller Test

    '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

    '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:

    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

CommandDescription
adonis swagger:exportExport config file & swagger-ui assets
adonis swagger:removeRemove config file & swagger-ui assets
adonis swagger:remove-docsRemove swagger-ui only

Dependencies

Thanks

Special thanks to the creator(s) of AdonisJS for creating such a great framework.

Keywords

adonis

FAQs

Package last updated on 17 Nov 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts