theme |
---|
jekyll-theme-leap-day |
- Identifique el uso de Swagger en la documentación oficial.
- Clone localmente tu repositorio rest_api.
- Abra el proyecto en VSCode y levante el servidor.
-
Instale los módulos swagger-autogen y swagger-ui-express
npm install swagger-autogen swagger-ui-express
-
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)
-
Modifique el archivo package.json y agregue la entrada swagger-autogen.
... "scripts": { ... "swagger-autogen": "node swagger.js" ... }, ...
-
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}": { } } ...
-
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.
- Uso de Swagger en X
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>🚀 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
- Revise la documentación en Swagger.
swagger, documentación
- Swagger. Retrieved 21 August 2023, from https://swagger.io/
- Autogenerated documentation API with OpenAPI and Swagger for NodeJS and Express. (2022). Retrieved 21 August 2023, from https://dev.to/luizcalaca/autogenerated-documentation-api-with-openapi-and-swagger-for-nodejs-and-express-31g9