Ich sende eine Curl-Anfrage an meinen Mongo-Server und die Anfrage sagt immer wieder: "Kann Eigenschaft 'Benutzername' von undefined nicht lesen". Meine beste Vermutung ist, dass meine Curl-Anfrage nicht korrekt formatiert ist, was die undefinierte Anfrage erklären würde, aber es sieht gut aus für mich. Kann jemand sehen, was das Problem hier ist?POST Request TypeError - kann nicht lesen Eigenschaft von undefined
Curl-Anfrage:
curl "http://localhost:3000/api/users" \
--include \
--request POST \
--data '{
"user": {
"username": "testuser",
"email": "[email protected]",
"pwd": "pass"
}
}'
Benutzer Routen:
const router = require('express').Router()
const bcrypt = require('bcryptjs')
const User = require('../models/user')
router.post('/', (req, res) => {
const user = new User({
username: req.body.user.username,
email: req.body.user.email,
passhash: bcrypt.hashSync(req.body.user.pwd, 10)
})
user.save().then(
(newuser) => {
res.json({
user: newuser,
message: 'success'
})enter code here
},
(err) => {
res.send(500, 'Error is: ' + err.message)
}
)
})
module.exports = router
Jede Hilfe wäre sehr geschätzt. Ich habe in den letzten zwei Stunden meinen Kopf gegen die Wand geschlagen, um das herauszufinden.
hier ist auch meine server.js Datei:
const express = require('express')
const app = express()
const bodyParser = require('body-parser')
app.use(bodyParser.json())
app.use('/test', function(req, res) {
res.send('hello world')
})
app.use('/api/users', require('./routes/users'))
app.listen(3000, function() {
console.log('app is listening on port 3000...')
})
Ich wollte dies nur, um es zu zeigen, dass ich die bodyParser bin mit
Wie wäre es mit 'curl -H' Content-Type: application/json "-X POST -d '{" Benutzer ": {" Benutzername ":" testuser "," email ":" [email protected] ", "pwd": "pass"}} 'http: // localhost: 3000/api/users' Argumente neu anordnen und den Inhaltstyp einstellen –
Das funktionierte wie Charme! Danke! –