I'm trying to add Swagger to my apis in my Node.js project. I have the following project structure:
▼ src
▼ app
▼ api
▼ routes
GroupsRoutes.js
main.js
My main.js
file is inside the src folder on the same level as the app folder.
The GroupsRoutes.js
file looks like this:
const express = require('express');
const { default: mongoose } = require('mongoose');
const router = express.Router();
const Groups = require('../../models/group');
const Devices = require('../../models/device');
const Applications = require('../../models/application');
/**
* @swagger
* /api/organizations/:orgId/groups:
* get:
* description: Get all groups
* responses:
* 200:
* description: Success
*/
router.get('/organizations/:orgId/groups', async (req, res) => {
try {
const orgId = req.params.orgId;
let groups;
groups = await Groups.find({ orgId: orgId });
return res.status(200).json(groups);
} catch (err) {
return res.status(500).json({ message: err.message });
}
});
module.exports = router;
Then I have the main.js file that looks like this:
import * as express from 'express';
const swaggerJsDoc = require('swagger-jsdoc');
const swaggerUI = require('swagger-ui-express');
const app = express();
const mongoose = require('mongoose');
...
app.use(express.json());
const groupsRouter = require('./app/api/routes/GroupsRoutes');
app.use('/api', groupsRouter);
const swaggerOptions = {
swaggerDefinition: {
info:
title: 'Groups Service',
version: '1.0.0'
}
},
apis: ['app/api/routes/GroupsRoutes.js'],
};
const swaggerDocs = swaggerJsDoc(swaggerOptions);
console.log(swaggerDocs);
app.use('/api-docs', swaggerUI.serve, swaggerUI.setup(swaggerDocs));
So basically my endpoints in GroupsRoutes.js
works perfectly, but for some reason the swagger is just empty saying 'No operations defined in spec!'
. The console log in the main.js
logs prints out the following:
{
info: { title: 'Groups Service', version: '1.0.0' },
swagger: '2.0',
paths: {},
definitions: {},
responses: {},
parameters: {},
securityDefinitions: {},
tags: []
}
Why is my get endpoint not added to swagger?
Via Active questions tagged javascript - Stack Overflow https://ift.tt/DpwSUNz
Comments
Post a Comment