运行下面的服务器之后。我用邮递员张贴尸体,但为什么不起作用?

时间:2019-06-27 14:07:22

标签: node.js express

我使用邮递员在下面的服务器中发布正文{"name" : "test"},但为什么不起作用? res.send无法将(course)发送回去。

服务器运行正常,因为我可以获取具有相同网址的请求

const express = require("express");
const app = express();

app.use(express.json());

const courses = [
  { id: 1, name: "course1" },
  { id: 2, name: "course2" },
  { id: 3, name: "course3" }
];

app.get("/api/courses", (req, res) => {
res.send(courses);
});

app.post("api/courses", (req, res) => {
  const course = {
    id: courses.length + 1,
    name: req.body.name
  };
  courses.push(course);
  res.send(course);
});

1 个答案:

答案 0 :(得分:0)

我已经阅读了您的代码并添加了以下内容:

  • 在端点的定义中,您放置了api/courses,正确的东西是/api/courses,开头是斜杠(/)。
  • 最后一个块在端口“ 3000”上启动服务器,并将日志注释打印到控制台。

const express = require('express');
const app = express();

app.use(express.json());

const courses = [
    { id: 1, name: 'course1' },
    { id: 2, name: 'course2' },
    { id: 3, name: 'course3' }
];

app.get('/api/courses', (req, res) => {
    res.send(courses);
});

app.post('/api/courses', (req, res) => {
    const course = {
        id: courses.length + 1,
        name: req.body.name
    };
    courses.push(course);
    res.send(course);
});

app.listen(3000, function () {
    console.log('Example app listening on port 3000!');
});