Экспресс-синтаксический анализатор всего тела запроса является ключом без значения - PullRequest
0 голосов
/ 16 сентября 2018

Я хочу получить значения body в сообщении, используя express node.js и iOS-клиент.Вот мой код сервера:

app.post('/user', function (req, res) {
  console.log(req.body)
  console.log(req.body.firstName)
})

На клиенте вот что я делаю с телом json:

let json = ["firstName": "First Dude",
                "lastName": "Last dude"]
    let body = try! JSONSerialization.data(withJSONObject: json, options: [])

Когда я достигаю конечной точки, я получаю:

{ '{"lastName":"Last dude","firstName":"First Dude"}': '' }
undefined

Похоже, что ключ - это все тело json, а значение пустое.

req.body.firstName также не определено.

Как получить значение из ключаиспользуя анализатор тела?

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018

Мне нужно было добавить тип контента в запрос и в body-parser.

request.setValue(application/json, forHTTPHeaderField: "Content-Type") app.use(bodyParser.json({ type: 'application/json' }))

0 голосов
/ 16 сентября 2018

Я не знаю, что именно

модели. Пользователь

есть?

Но в этой части:

app.post('/user', function (req, res) {
  console.log(req.body)
  console.log(req.body.firstName)
  var user = models.User.create({
      firstName: req.body.firstName,
      lastName: req.body.lastName,
     id: uuidV1(),
  });
  res.send(user.toJSON())
})

Вы должны написать

res.json (user.toJSON ())

вместо

res.send (user.toJSON)())

...