微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

放置请求请求主体为空

如何解决放置请求请求主体为空

由于我的所有请求都工作正常,因此看跌期权存在问题。 req.body保持为空,然后给出该错误

errmsg:“'$ set'为空。您必须像这样指定一个字段:{$ set: {:...}}“

输入:

router.put('/books/:name',(req,res,next) => {
    const localdb = db.client.db(process.env.DB_NAME);
    const collection = localdb.collection(process.env.COLL_BOOKS);
    collection.replaceOne(
        { "name": req.params.name },{ $set: req.body },function (err) {
            if (err) throw err
            res.status(201).send(true);

        });

App.js

const express = require('express'),app = express();
os = require('os');
const bodyParser = require('body-parser');
const cors = require('cors');
const router = require('./router.js')
require('dotenv').config()


app.use(cors());
app.use(bodyParser.json());

app.use('/api/v1',router);

const port = (process.env.PORT || '3001');

let server = app.listen(port,os.hostname(),() => {
    let host = server.address().address,port = server.address().port;
    console.log("Example app listening at http://%s:%s",host,port);
});

axios请求:

 updateItem = newBook => {
        Axios.put(process.env.REACT_APP_API_PATH_BOOKS + `${newBook.name}`,newBook)
            .then(res => {
                this.setState({ newBook: res.data });
                this.props.history.push('/admin');
            })
            .catch(err => console.log(err));
    }

我不明白自己在做什么错

解决方法

确保没有任何中间件剥离或错误地解析主体。例如,您可能有一个JSON主体解析器,而没有使用JSON应用程序标头发送JSON数据。

您能否在代码中提供一些上下文,以了解如何进行放置请求以及将请求记录记录在pastebin中的结果?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。