我运行了以下代码,并在命令提示符下使用了以下语句:
curl -H "Content-Type: application/json" -X POST -d '{"first_name": "Moonis", "last_name": "Rasheed"}' "http://localhost:3000/profile"
和
curl.exe -H "Content-Type: application/json" -X PUT -d '{"first_name": "Osama", "last_name": "Naveed"}' "http://localhost:3000/profile"
那是我在这张照片中遇到错误的时候。我不知道为什么会这样,因为按照我的逻辑,它应该在配置文件中添加数据
const express = require('express');
const app = express();
const bodyParser=require('body-parser');
app.use(bodyParser.json());
let profile = {
username: 'azat',
email: '[reducted]',
url: 'http://azat.co'
};
app.get('/profile', (req, res)=>{
res.send(profile);
})
app.post('/profile', (req, res) => {
profile = req.body;
console.log("created",profile);
res.sendStatus(201);
})
app.put('/profile', (req, res)=>{
Object.assign(profile, req.body);
console.log("updated",profile);
res.sendStatus(204);
})
app.delete('/profile', (req, res)=>{
profile ={};
console.log("deleted");
res.sendStatus(204);
})
app.listen(3000);
答案 0 :(得分:0)
尝试像这样格式化curl
命令:
curl -H "Content-Type: application/json" -X POST -d "{\"first_name\": \"Moonis\", \"last_name\": \"Rasheed\"}" "http://localhost:3000/profile"
基本上,在data参数周围使用双引号,并转义json
内的内部双引号。