2019-05-26 express初识

2019-06-05  本文已影响0人  追夢的蚂蚁

3.静态文件托管:
app.use('/',express.static('public'))

4.CORS同源:
app.use(require('cors')())

这里推荐两个插件:

  1. chorome插件 :FE前端助手 (JSON格式化)

  2. vscode插件 :live Server (在新端口打开页面)

  3. mongodb 基础

 Product.insertMany([
     {title:'产品1'},
     {title:'产品2'},
     {title:'产品3'},
 ])
app.get('/products',async function(req,res){
    res.send(await Product.find())
})

6.mongodb 查询

//产品列表接口查询
app.get('/products',async function(req,res){
    // const data = await Product.find().skip(1).limit(2)
    //  const data = await Product.find().where({
    //      title:'产品2'
    //  })
     const data = await Product.find().sort({
         _id:-1
     })
    res.send(data)
})
//产品详情接口查询
app.get('/products/:id',async function(req,res){
    const data = await Product.findById(req.params.id)
    res.send(data)
})

  1. mongodb新增产品和post请求
//新增和post请求
app.post('/products',async function(req,res){
    const data = req.body
    const product = await Product.create(data)
    res.send(product)
})

###
post {{uri}}products
Content-Type: application/json

{
    "title":"产品5"
}

vscode插件:rest client
在vscode内用代码的形式发送http请求,开发接口常用的插件
优势:不必再开浏览器去看,很方便

  1. mongodb修改和put请求
//修改和put请求
app.put('/products/:id',async function(req,res){
    const product = await Product.findById(req.params.id)
    product.title = req.body.title
    await product.save()
    res.send(product)
})
###
put {{uri}}products/5cea76c3a64c3c2d18b00f66
Content-Type: application/json

{
    "title":"产品5"
}

与新增有点类似

  1. mongodb 删除和delete请求
//删除和delete请求
app.delete('/products/:id',async function (req,res) {
    const product = await Product.findById(req.params.id)
    await product.remove()
    res.send({
        success:true
    })
})


DELETE {{uri}}products/5cea858c541ceb0b447ea7e5
上一篇 下一篇

猜你喜欢

热点阅读