POST и Patch не работают в POSTMAN с данными JSON - PullRequest
0 голосов
/ 13 января 2020

Я использую NodeJS и mongodb для базы данных и понедельник goose

[Мне предоставлено значение для имени и адреса электронной почты, но оно все еще показывает, что адрес электронной почты и имя требуются]

Вот изображение

Вот мой код

const mongoose = require('mongoose')

const validator = require('validator')

const User = mongoose.model('User', {

name: {
    type: String,
    required: true,
    trim: true,
    tolowercase: true
},
email: {
    type: String,
    required: true,
    trim: true,
    lowercase: true,
    validate(value){
        if(!validator.isEmail(value)){
            throw new Error('Invalid Email')
        }
    }
},

password: {
    type: String,
    minlength: 7,
    //required: true,
    trim: true,
    validate(value){
        if(value.toLowerCase().includes('password')){
            throw new Error('Password can\'t contains word password')
        }
    }
},

age: {
    type: Number,
    default: 0
}
})

Если я прокомментирую все требуемые утверждения в имени и электронной почте, то также потребуется только возраст и сохранить их в БД

Ответы [ 2 ]

1 голос
/ 13 января 2020

Скорее всего, это происходит из-за несоответствия типа контента, того, что вы отправляете от почтальона, и того, что вы получаете в приложении вашего узла. Пожалуйста, проверьте, используете ли вы body-parser и анализируете ли данные в JSON как: app.use (bodyParser. json ()); а не как: app.use (bodyParser.urlencoded ({extended: false})); Как я думаю, вы должны отправлять заголовок с Content-Type: application / json от почтальона и получать его как urlencoded или наоборот.

0 голосов
/ 13 января 2020

Часть «путь» в ответе об ошибке может указывать, что параметр принадлежит URL-пути, а не телу.

...