我向我的mongo服務器發送一個curl請求,並且請求一直說「無法讀取屬性」用戶名「未定義」。我最好的猜測是我的curl請求沒有正確格式化,這將解釋未定義的請求,但它對我來說看起來很好。任何人都可以看到這裏有什麼問題嗎?POST請求類型錯誤 - 無法讀取未定義的屬性
捲曲請求:
curl "http://localhost:3000/api/users" \
--include \
--request POST \
--data '{
"user": {
"username": "testuser",
"email": "[email protected]",
"pwd": "pass"
}
}'
用戶路徑:
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
任何幫助將不勝感激。在過去的兩個小時裏,我一直把頭靠在牆上試圖弄清楚這一點。
而且,這裏是我的server.js文件:
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...')
})
我只是想後這說明我使用的bodyParser
'curl -H「Content-Type:application/json」-X POST -d'{「user」:{「username」:「testuser」,「email」:「[email protected]」, 「pwd」:「pass」}}'http:// localhost:3000/api/users'對參數進行重新排序並設置Content-Type –
這個功能很有魅力!謝謝你! –