express - 节点/快递端点 - 抛出意外错误
问题描述
我有一个抛出意外错误的快速端点。我似乎无法弄清楚发生了什么。
这是端点:
const express = require('express');
const bodyParser = require('body-parser');
const jsonParser = bodyParser.json();
const router = express.Router()
const { Article } = require('./model');
const passport = require('passport');
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
Article
.findByIdAndUpdate(removeId, {
featured: false
});
return Article
.findByIdAndUpdate(addId, {
featured: true
})
.then(article => {
res.status(202).json({ article });
})
.catch(err => {
res.status(404).json({ message: 'No record found' });
});
});
这是错误:
SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
at parse (/Users/johnseabolt/Desktop/code/PERSONAL/dfpr/node_modules/body-parser/lib/types/json.js:89:19)
at /Users/johnseabolt/Desktop/code/PERSONAL/dfpr/node_modules/body-parser/lib/read.js:121:18
at invokeCallback (/Users/johnseabolt/Desktop/code/PERSONAL/dfpr/node_modules/raw-body/index.js:224:16)
at done (/Users/johnseabolt/Desktop/code/PERSONAL/dfpr/node_modules/raw-body/index.js:213:7)
at IncomingMessage.onEnd (/Users/johnseabolt/Desktop/code/PERSONAL/dfpr/node_modules/raw-body/index.js:273:7)
at emitNone (events.js:106:13)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1056:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
我无法弄清楚这里发生了什么。看起来它可能是 jsonParser 部分,但我有另一个具有 jsonParser 的端点,它工作正常!这是工作端点:
router.post('/create', jwtAuth, jsonParser, (req, res) => {
const { title, author, content } = req.body;
if (!title) {
return res.status(422).json({ message: 'Title is required' });
}
if (!author) {
return res.status(422).json({ message: 'Author is required' });
}
if (!content) {
return res.status(422).json({ message: 'Content is required' });
}
return Article
.create({ title, author, content })
.then(article => {
res.status(202).json({ article });
})
.catch(err => {
res.status(422).json({
error: err,
message: 'There was a problem with your request'
});
})
});
谁能看到这里发生了什么?我已经刺了几个小时了,我很难过。
解决方案
推荐阅读
- python - .LAS 使用 python 转换成 .CSV 文件
- python - 将随机数设置为时间
- javascript - 查看订单以进行结帐时,某些图像会消失
- android - 保持登录 Android Studio - Kotlin with Firebase
- docker - Docker Desktop 上的 Kubernetes 无法识别本地镜像
- arrays - 在 Numpy 数组 Python 中检查 Nonetype
- mongodb - Kubernetes 未加载 mongo 部署。“无效值...字段是不可变的”
- asciidoctor - 将 Asciidoctor AST 保存为 AsciiDoc 文本文档
- java - vscode java不适用于多项目布局gradle项目
- css - 顶部边距/覆盖和隐藏元素