express

作者: 奈何明月照沟渠 | 来源:发表于2023-03-19 16:42 被阅读0次

创建express项目
npm init npm i express

get

const express = require('express')
const fs = require('fs')
const app = express()
app.get('/',(req,res)=>{
    fs.readFile('./list.json','utf-8',(err,data)=>{
        if(!err){
            const back = JSON.parse(data)
            res.send(back.user) // 返回结果
        }else{
            res.status('500').json({err}) // 设置err后返回的状态码并将错误信息tojson
        }
    })
})
app.listen(3000,()=>{
    console.log('run http://127.0.0.1:3000');
})

post

post请求需要设置content-type
express中已经封装好了,下面代码表示可以接收两种类型的content-type

app.use(express.urlencoded()) // x-www-form-urlencoded
app.use(express.json()) //application/json

app.post('/',async (req,res)=>{
     const back = await readFile('./list.json','utf-8')
     if(back) {
         let fileData = JSON.parse(back)
         let newId = fileData.user.length+1
         fileData.user.push({
             name: req.body.name,
             age: req.body.age,
             id: newId
         })
         console.log(fileData);
         try {
             const w = await writeFile('./list.json',JSON.stringify(fileData,null,2))
             console.log(w);
             if(w){
                 res.status(200).send('追加成功')
             }
         }catch (err){

         }

     }
    // res.send('')
})

put

app.put('/:id', async (req,res)=>{
    console.log(req.params);
    try {
        let back = await readFile('./list.json','utf-8')
        const userId = Number.parseInt(req.params.id)
        const userList = JSON.parse(back)
        const user = userList.user.find(item=> item.id == userId)
        if(!user){
            res.status(403).json({error:'用户不存在'})
        }else{
            user.name = req.body.name ? req.body.name : user.name
            user.age = req.body.age ? req.body.age : user.age
            userList.user[user.id - 1] = user
            const w = await writeFile('./list.json',JSON.stringify(userList,null,2))
            res.status(200).send('修改成功')
        }
    }catch (error){
        res.status(500).json({error})
    }
})
微信截图_20230319221146.png

相关文章

网友评论

      本文标题:express

      本文链接:https://www.haomeiwen.com/subject/xhmsrdtx.html