Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

355
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda