Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

343
Views
ExpressJs: obtener una pantalla en blanco de la ruta Swagger

Estoy usando swagger-ui-express con swagger-jsdoc en mi proyecto Express.js. He implementado todo de acuerdo con algunos tutoriales y documentos oficiales. Aún así, cuando ingreso la URL de Swagger, ¡obtengo una pantalla blanca en blanco!

Mi archivo server.js :

 const express = require('express'); const cookieParser = require('cookie-parser') const cors = require('cors'); const methodOverride = require('method-override'); const bodyParser = require('body-parser'); const connectMongoDB = require('./config/mongo-db'); const swaggerUi = require('swagger-ui-express'); const swaggerJSDoc = require('swagger-jsdoc'); const Middleware = require('./utils/middlewares'); const menuRoutes = require('./routes/api/menus'); const userRoutes = require('./routes/api/user'); require('dotenv').config(); const app = express() app.use(cors()); app.use(function(req, res, next) { //allow cross origin requests res.setHeader("Access-Control-Allow-Methods", "POST, PUT, OPTIONS, DELETE, GET"); res.header("Access-Control-Allow-Origin", "http://127.0.0.1:3000"); // frontend res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); res.header("Access-Control-Allow-Credentials", true); next(); }); app.use(bodyParser.json()); app.use(cookieParser()); app.use(methodOverride('_method')); app.use(express.json({ extended: false })); const port = process.env.PORT || 3001; // back-end PORT is 3001 connectMongoDB(); app.use(Middleware.authJWTMiddleware); app.use(Middleware.logVisit); app.use(cors({ origin: true, credentials: true })); app.get('/', (req, res) => res.send('Hello world!')); app.use('/api/menus', menuRoutes); app.use('/api/users', userRoutes, function (req, res) { res.sendStatus(401) }); // Swagger configurations const swaggerOptions = { swaggerDefinition: { openapi: '3.1.0', info: { title: 'Restaurant Site', version: '1.0.0', description: "This is a simple CRUD API application made with Express and documented with Swagger", license: 'none', contact: { name: "John Doe", email: "john@mail.com" }, servers: [ { url: 'http://127.0.0.1:3001', }, ], }, }, apis: ["/routes/api/menus.js",], }; const specs = swaggerJSDoc(swaggerOptions); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(specs, {explorer: true})); app.listen(port, () => console.log(`Server is listening on port ${port}`));

Todavía no he implementado ningún modelo de swagger, pero aún así se supone que debo obtener una página web navegable de swagger. ¿Por qué no lo estoy consiguiendo?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

solo necesita agregarles cosas de swagger antes del middleware de autenticación

 const express = require("express"); ... const app = express(); ... app.use(SwaggerStuff); app.use(whatEvaChecksAuthStuff);
about 4 years ago · Juan Pablo Isaza Report

0

El middleware de autenticación bloqueaba las URL que contenían la ruta /api-docs/swagger... . Entonces, tuve que poner estas rutas en la lista de exclusión y ahora está funcionando.

pestaña de red de dev. instrumentos

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!