Экспресс-API не будет принимать никаких запросов от POSTMAN

#javascript #express #postman #middleware

#javascript #экспресс #postman #промежуточное программное обеспечение

Вопрос:

Я пытался разработать API для использования в приложении MEAN stack. API обрабатывает регистрацию и аутентификацию пользователя. Что было действительно забавно, так это то, что он не принимал никаких запросов от Postman. Даже простой запрос ‘/’ get с ответом не будет работать. Ошибка, которую я получаю от postman, выглядит следующим образом

Мой index.js это как показано ниже:

 const exp = require('express');
const bp = require('body-parser');
const { success, error } = require('consola')
const { connect } = require('mongoose');

// Bring in the app constants
const { DB, PORT } = require("./config");

// Initialize the application
const app = exp();

// Call the middleware
app.use(cors());
app.use(bp.json);

// User Router Middleware
app.use("/api/users", require("./routes/users"));
app.use("/basic", require("./routes/basic"));

// Connect to the database

const startApp = async () => {
    try {
      // Connection With DB
      await connect(DB, {
        useFindAndModify: true,
        useUnifiedTopology: true,
        useNewUrlParser: true
      });
  
      success({
        message: `Successfully connected with the Database n${DB}`,
        badge: true
      });
  
      // Start Listenting for the server on PORT
      app.listen(PORT, () =>
        success({ message: `Server started on PORT ${PORT}`, badge: true })
      );
    } catch (err) {
      error({
        message: `Unable to connect with Database n${err}`,
        badge: true
      });
      startApp();
    }
  };



startApp();
 

Моя базовая маршрутизация заключается в следующем, она сама по себе даже не будет работать для меня:

 
router.get('/', function (req, res) {
    res.send('Hello World!'   req.body)
  })

module.exports = router;
 

Ответ postman такой, как на скриншоте ниже:

Скриншот Postman

Сервер, похоже, запущен, но, похоже, просто отклоняет все запросы.

 mongodb://localhost:27017/node-auth


 SUCCESS  Server started on PORT 3000                                                 16:26:36  
 

Комментарии:

1. Каков код состояния ошибки? пожалуйста, предоставьте изображение с подробными сведениями об ошибке

2. что у вас получилось localhost:3000/ ?

3. Вы вызываете app.use(cors()); но функция cors не импортируется. Документы

4. Где определен ваш get router? / внутри маршрутизатора не означает http://localhost:3000/ на postman.

5. Маршрутизатор определяется в начале файла как «const router = require(‘express’). Router();»

Ответ №1:

Импортируете ли вы express в свой базовый маршрутизатор ?
это должно выглядеть примерно так :

  const express = require("express");
 const router = express.Router();
  
 router.get("/", (req, res) => {
   res.send(`Hello World! ${req.body}`);
 });
          
 module.exports = router;
 

Комментарии:

1. Привет, он импортирован, да. const router = require(‘экспресс’) . Router(); Но все еще не работает

Ответ №2:

Мои извинения.

Мне не хватало фигурной скобки (), которая позволяла приложению запускаться, но некорректно. Иногда все, что требуется, — это еще один глаз.

До: app.use(bp.json); после: app.use(bp.json());

Теперь работает отлично.

Комментарии:

1. Пожалуйста, не публикуйте ответы с опечатками; если возможно, просто удалите вопрос.

Ответ №3:

Вы не используете маршрутизатор из того же экземпляра express в index.js