Ошибка при использовании restful API и bodyParser в node.js - PullRequest
0 голосов
/ 28 февраля 2019

Я запустил приведенный ниже код и в командной строке использовал операторы:

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"

Именно тогда я получаюошибка в этой фотографии.Я не знаю, почему это происходит, потому что по моей логике это должно быть добавление данных в профиле enter image description here

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);

1 Ответ

0 голосов
/ 28 февраля 2019

Попробуйте отформатировать команду curl следующим образом:

curl -H "Content-Type: application/json" -X POST -d "{\"first_name\": \"Moonis\", \"last_name\": \"Rasheed\"}" "http://localhost:3000/profile"

В основном, используйте двойные кавычки вокруг параметра данных и избегайте внутренних двойных кавычек, которые являются частью json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...