Skip to content

Latest commit

 

History

History
132 lines (89 loc) · 3.78 KB

guia18.md

File metadata and controls

132 lines (89 loc) · 3.78 KB
theme
jekyll-theme-leap-day

Guía 18

DAWM / Proyecto06

Actividades previas

Actividades

  • Clone localmente tu repositorio rest_api.
  • Abra el proyecto en VSCode y levante el servidor.

Dependencias Locales

  • Instale los módulos swagger-autogen y swagger-ui-express

    npm install swagger-autogen swagger-ui-express
    

Swagger-config

  • En la raíz del proyecto, cree el archivo swagger.js. En la variable endpointsFiles coloque las rutas a los controladores de los modelos.

    const swaggerAutogen = require('swagger-autogen')()
    
    const outputFile = './swagger_output.json'
    const endpointsFiles = ['./routes/<ROUTER>.js']
    
    swaggerAutogen(outputFile, endpointsFiles)
    

Package.json - Script

  • Modifique el archivo package.json y agregue la entrada swagger-autogen.

    ...
    "scripts": {
      ...
      "swagger-autogen": "node swagger.js"
      ...
    },
    ...
    

Esquema de salida: swagger_ouput

  • Desde la línea de comandos, ejecute el comando:

    npm run swagger-autogen
    
  • En el archivo swagger_ouput.json, modifique las URLs de cada endpoint (clave paths) de acuerdo con las rutas en la aplicación:

      ...
      "paths": {
        "/suppliers/findAll": {
          ...
        },
        "/suppliers/findById/{id}": {
          ...
        }
        ...
        "/suppliers/delete/{id}": {
        }
      }
      ...
    

Registro del manejador de rutas

  • Modifique el archivo generado app.js con la referencia al módulo swagger-ui-express y al archivo generado swagger_output.json. Además, agregue la ruta a la documentación.

    ...
    /* REFERENCIA AL MÓDULO */
    const swaggerUi = require('swagger-ui-express')
    
    /* REFERENCIA AL ARCHIVO GENERADO */
    const swaggerFile = require('./swagger_output.json')
    ...
    
    const app = express();
    
    ...
    /* CONFIGURACIÓN DE LA RUTA A LA DOCUMENTACIÓN */
    app.use('/documentation', swaggerUi.serve, swaggerUi.setup(swaggerFile))
    ...
    
  • Ejecute el servidor, con:

    npm start
    
  • Compruebe los endpoints del manejador de ruta, con:

    http://localhost:3000/documentation
    
  • Versiona local y remotamente el repositorio rest_api.

Fundamental

  • Uso de Swagger en X

🚀 Made significant progress today on our Project Management System! Integrated centralized Swagger documentation for clear API understanding. Also, added endpoints for projects and tasks. Excited to see it coming together! 💻🔨 #MERNStack #ProjectManagement #SwaggerUI pic.twitter.com/ZP3iin9RMa

— Aditya Rawas (@rawas_aditya) October 5, 2023
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Documentación

  • Revise la documentación en Swagger.

Términos

swagger, documentación

Referencias