我在接听电话时遇到问题。当我使用客户端应用程序时,帖子数据似乎在端点中不可用。使用Postman,路线运行正常。
以下是数据来源的后期操作:
export const createBoard = (name, user_id) => (dispatch, getState) => {
const authToken = getState().authToken;
console.log(`IN ACTION: ${name}${user_id}`)
return fetch('http://localhost:8080/board/', {
method: 'POST',
headers: {
Authorization: `Bearer ${authToken}`
},
body: JSON.stringify({ name, user_id })
})
.then(res => normalizeResponseErrors(res))
.then(res => {return res.json()})
.then(board => dispatch(addToBoards(board)))
.catch(err => {
console.error(err);
});
}
这是端点。 “name”和“user_id”数据未通过:
// CREATE NEW BOARD
router.post('/', jsonParser, jwtAuth, (req, res) => {
console.log(`IN ENDPOINT: ${req.body.name}${req.body.user_id}`)
return Board
.create({
name: req.body.name,
user_id: req.body.user_id
})
.then(board => {
res.status(201).json({ board })
})
.catch(err => {
console.log(err)
res.sendStatus(500);
});
});
同样,端点适用于Postman,所以我认为我在fetch块中做错了,但是我看不清楚是什么。救命啊!
这是错误:
IN ENDPOINT: undefinedundefined
{ SequelizeValidationError: notNull Violation: Board.name cannot be null,
notNull Violation: Board.user_id cannot be null