Почему postman кидает пустой body?

Ссылка скопирована
6 апреля 2026 1 ответ

Почему то postman кидает пустой body, но если кидать данные через headers то они успешно приходят

userControlles.js

const ApiError = require('../error/ApiError'); const bcrypt = require('bcrypt') const jwt = require('jsonwebtoken') const {Account} = require('../models/models')  const generateJwt = (id, login, role) => {     return jwt.sign(         {id, login, role},         process.env.SECRET_KEY,         {expiresIn: '24h'}     ) }  class UserController {     async registration(req, res, next) {         const {login, password, role} = req.body         if (!login || !password) {             return next(ApiError.badRequest('Некорректный логин или пароль'))         }         const candidate = await Account.findOne({where: {login}})         if (candidate) {             return next(ApiError.badRequest('Пользователь с таким логином уже существует'))         }         const hashPassword = await bcrypt.hash(password, 5)         const user = await Account.create({login, role, password: hashPassword})         const token = generateJwt(user.id, user.login, user.role)         return res.json({token})     }      async login(req, res, next) {         const {login, password} = req.body         const user = await Account.findOne({where: {login}})         if (!user) {             return next(ApiError.internal('Пользователь не найден'))         }         let comparePassword = bcrypt.compareSync(password, user.password)         if (!comparePassword) {             return next(ApiError.internal('Указан неверный пароль'))         }         const token = generateJwt(user.id, user.login, user.role)         return res.json({token})     }      async getUsers(req, res, next) {         const users = await Account.findAll()         return res.json({users})     }      async deleteUser(req, res, next) {         const {id} = req.headers         const user = await Account.findOne({where: id})         if (!user) {             return next(ApiError.internal('Пользователь не найден'))         }         await user.destroy()         return res.json({message: `Пользователь: ${id}, удален!`})     } }  module.exports = new UserController()

const ApiError = require('../error/ApiError'); const bcrypt = require('bcrypt') const jwt = require('jsonwebtoken') const {Account} = require('../models/models') const generateJwt = (id, login, role) => { return jwt.sign( {id, login, role}, process.env.SECRET_KEY, {expiresIn: '24h'} ) } class UserController { async registration(req, res, next) { const {login, password, role} = req.body if (!login || !password) { return next(ApiError.badRequest('Некорректный логин или пароль')) } const candidate = await Account.findOne({where: {login}}) if (candidate) { return next(ApiError.badRequest('Пользователь с таким логином уже существует')) } const hashPassword = await bcrypt.hash(password, 5) const user = await Account.create({login, role, password: hashPassword}) const token = generateJwt(user.id, user.login, user.role) return res.json({token}) } async login(req, res, next) { const {login, password} = req.body const user = await Account.findOne({where: {login}}) if (!user) { return next(ApiError.internal('Пользователь не найден')) } let comparePassword = bcrypt.compareSync(password, user.password) if (!comparePassword) { return next(ApiError.internal('Указан неверный пароль')) } const token = generateJwt(user.id, user.login, user.role) return res.json({token}) } async getUsers(req, res, next) { const users = await Account.findAll() return res.json({users}) } async deleteUser(req, res, next) { const {id} = req.headers const user = await Account.findOne({where: id}) if (!user) { return next(ApiError.internal('Пользователь не найден')) } await user.destroy() return res.json({message: `Пользователь: ${id}, удален!`}) } } module.exports = new UserController()

Дополнительно:

в заголовках прописал что ожидается json?

  • Kentavr16, да
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Кирилл JS Ответ

    Проблема с тем, что Postman кидает пустой body, может возникать по нескольким причинам. Давайте рассмотрим несколько возможных причин и способы их решения:

    1. Неправильный Content-Type: Убедитесь, что вы установили правильный заголовок Content-Type для вашего запроса. Например, если вы отправляете JSON данные, убедитесь что у вас есть заголовок Content-Type: application/json. Если Content-Type неправильно указан, сервер может не распознать данные в теле запроса.

    Content-Type: application/json

    Content-Type: application/json

    2. Неправильный формат данных: Проверьте данные, которые вы отправляете в теле запроса. Убедитесь, что данные соответствуют формату, который ожидает сервер. Например, если сервер ожидает JSON данные, убедитесь, что вы правильно сформировали JSON объект.

    {
      "key": "value"
    }

    { "key": "value" }

    3. Проблемы с авторизацией: Если ваш запрос требует авторизации, убедитесь, что вы правильно настроили авторизацию в Postman. Проверьте токены доступа или логин/пароль, чтобы убедиться, что они корректны.

    4. Проблемы с сетью: Иногда проблема может быть связана с сетью или настройками прокси. Попробуйте отправить запрос с другого устройства или с другой сети, чтобы исключить возможные проблемы с сетью.

    Если после проверки всех вышеперечисленных причин проблема все еще не решена, рекомендуется обратиться к документации API, чтобы убедиться, что вы правильно формируете запросы. Также можно обратиться к администратору сервера, чтобы выяснить возможные проблемы с настройками сервера.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно