NODE JS + Postman:无法修补 URL

考虑代码:


const fs = require('fs');

const express = require('express');

const app = express();

const bodyParser = require('body-parser')


// use middleware

app.use(express.json());

app.use(bodyParser.json());


const fileLocation = `${__dirname}/dev-data/data/tours-simple.json`;

const theTours = JSON.parse(fs.readFileSync(fileLocation));


app.patch('api/v1/tours/:id', (req, res) =>{

  if (req.params.id * 1 > theTours.length) {

    return res.status(404).json({

      status: 'fail',

      message: 'Invalid ID'

    });

  }


  res.status(200).json({

    status: 'success',

    data: {

      tour: '<Updated tour here ...>'

    }

  });

});


const port = 3000;

app.listen(port, () => {

  console.log(`App is running on port ${port}`);

});

当我尝试从 Postman 修补 URL 时:


Action PATCH 

URL : 127.0.0.1:3000/api/v1/tours/3

发送原始:

http://img2.mukewang.com/6155848c00012e1310410353.jpg

我明白了:

http://img4.mukewang.com/615584970001e88409740646.jpg

为什么会这样?我哪里做错了 ?


慕慕森
浏览 191回答 2
2回答

月关宝盒

您在路线中缺少斜线:app.patch('/api/v1/tours/:id',&nbsp;(req,&nbsp;res)&nbsp;=>{

函数式编程

定义路线时,您缺少前导 /(斜线)app.patch('/...', (req, res) => {&nbsp;&nbsp; &nbsp; ...&nbsp;&nbsp; &nbsp; ...&nbsp;});Express 需要在定义路由时使用前导斜杠 :) 希望这会有所帮助
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript