node restAPI 简单例子

 

 

复制代码
// 第一版,node的httpp
// const http = require('http');
// const server=http.createServer((req,res)=>{
//     if(req.url==='/'){
//         res.write('hello world')
//         res.end();
//     }
//     if(req.url==='/api/courses'){
//         res.write(JSON.stringify([1,2,3]))
//         res.end();
//     }
// })

// server.listen(3000)

// console.log('Listening on port 3000...')







// 第二版,node http库  express
const exp = require('constants');
const express=require('express')
const app =express();

app.use(express.json())

const courses=[
    {id:1,name:'course1'},
    {id:2,name:'course2'},
    {id:3,name:'course3'}
]

app.get('/',(req,res)=>{
    res.send('hello world')
})


app.get('/api/courses',(req,res)=>{
    res.send(courses)
})

//Joi 库可以做验证
app.post('/api/courses',(req,res)=>{
    if(!req.body.name || req.body.name.length<3){
        //400 Bad Request
        res.status(400).send('Name is required and ....')
    }
    const course={
        id:courses.length+1,
        name:req.body.name
    }
    courses.push(course)
    res.send(course)
})


app.get('/api/courses/:id',(req,res)=>{
    let course=courses.find(c=>c.id===parseInt(req.params.id))
    if(!course)//404
    res.status(404).send('the course with the give ID not found')
    res.send(course)
})

// app.get('/api/posts/:year/:month',(req,res)=>{
//     res.send(req.query)req.params,
// })


const port=process.env.PORT||3000
app.listen(port,()=>{
    console.log(`Listening on port ${port}...`)
})
// app.post()
// app.put()
// app.delete()
复制代码

 

posted @   漫漫长路</>  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示