繁体   English   中英

我可以使用 POST 和 GET,但为什么我不能在 MongoDB Atlas 中使用 DELETE

[英]I cam use POST and GET, but why I can't use DELETE in MongoDB Atlas

我正在学习赫尔辛基大学的全栈课程,我可以发布和获取,但为什么我不能删除。

我用VS Code REST Client,这是REST Client代码,我用它来测试,POST和GET都很好

POST http://localhost:3002/api/persons
Content-Type: application/json

{
    "name": "re",
    "number": "001"
}

###
DELETE  http://localhost:3002/api/person/600974589e4e3b4a1562fd75

###
GET http://localhost:3002/api/person/600974589e4e3b4a1562fd75

这是我的 javascript 代码

index.js

app.post('/api/person', (req, res) => {
    const body = req.body
    if((!body.number) || (!body.name)){
        return res.status(400).json({
            error: 'Number or name is not exist!'
        })
    }
    const newperson = new Phonebook({
        name: body.name,
        number: body.number,
        date: new Date(),
    })
    newperson.save().then(savePerson => {
        res.json(savePerson)
    })
})
app.get('/api/person/:id', (req, res, next) => {
    Phonebook.findById(req.params.id).then(person => {
        if(person){
        res.json(person)
        }
        else{
            res.status(404).end()
        }
    })
    .catch(error => next(error))
})
app.delete('api/person/:id', (request, response, next) => {
    Phonebook.findByIdAndRemove(request.params.id)
    .then(result => {
        response.status(204).end()
    })
    .catch(error => next(error))
})

删除错误

HTTP/1.1 404 Not Found
X-Powered-By: Express
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=utf-8
Content-Length: 27
ETag: W/"1b-MMxRBlHxrLoIiEJggegnVLYwVTY"
Date: Sat, 23 Jan 2021 05:52:21 GMT
Connection: close

{
  "error": "unkown endpoint"
}

我尝试查找 MongoDB Atlas 日志,但找不到。

在调用路由之前的第一个文件中使用 app.js 中的这个中间件

app.use((req, res, next) => {
  res.setHeader("Access-Control-Allow-Origin", "*");
  res.setHeader(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept, Authorization"
  );
  res.setHeader("Access-Control-Allow-Methods", "GET, POST, PATCH, DELETE");

  next();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM