[英]How to process CURL POST request in Express.JS when Content-Type is not mentioned
我正在向我的 node.js 服务器发送以下 CURL 请求。 但是当我尝试提取数据时,它以一种奇怪的格式显示,我不知道如何解析。
CURL 请求:
curl -X POST -d '{ "url": "http://localhost:8000/event"}' http://localhost:8000/subscribe/topic1
数据 Output
{ '{ "url": "http://localhost:8000/event"}': '' }
处理请求的代码
app.post('/subscribe/:topic', (req, res) => {
const topic = req.params.topic;
/** Prnts a weird format of data !!! */
console.log(req.body)
let url = req.body.url;
if (subscribeMap.has(topic)) { subscribeMap.get(topic).push(url) } else { subscribeMap.set(topic, [url]); }
res.send(true)
})
我的快递服务器正在使用这样的正文解析器:
const express = require('express');
const bodyParser = require('body-parser');
const axios = require('axios');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
您需要将此选项添加到您的 CURL 请求中:
-H "Content-Type: application/json"
像这样使用它:
curl -X POST -d '{"url": "http://localhost:8000/event"}' -H "Content-Type: application/json" http://localhost:8000/subscribe/topic1
@KunalGulati,你好布朗尼!!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.