3.静态文件托管:
app.use('/',express.static('public'))
4.CORS同源:
app.use(require('cors')())
这里推荐两个插件:
-
chorome插件 :FE前端助手 (JSON格式化)
-
vscode插件 :live Server (在新端口打开页面)
-
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)
})
- 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请求,开发接口常用的插件
优势:不必再开浏览器去看,很方便
- 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"
}
与新增有点类似
- 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
网友评论