【nodejs】使用express搭建一个RESTful API(三):文章的增删查改

马冯浩
2023-12-01

因为这个是为了我自己的博客搭建的,所以里面有个最重要的内容。

文章的增删查改。

文件的增删查改一般会用到数据库的几个最基本的功能。
新增:insert
删除:delete
查询:select
修改:update

1.新增文章

已知,文章的主要结构是“标题,内容,时间”,加上次要内容“分类,标签”,新增文章的sql语句可以这样写

	createArticle:insert into article(id,title,content,tags,catalogId,createDate) values(0,?,?,?,?,now())

插入的数据,需和前面的内容一一对应。
这里插入插入的now(),是插入当前系统的时间。就是明确的知道自己是在什么时候新增的这条数据

回到node.js里,
此前我们的注册登录功能写再了user.js里,所以,我们的有关文章得到功能,就可以新建一个article.js

//登录功能
router.post('/create',(req,res)=>{
	let sql = $sql.article.createArticle //sql语句,为什么这么写上一篇说过
	let params = req.body
	db.query(sql, [params.title,  params.cid, params.tags, params.content, params.createDate], (result, fields) => {
        if (result) {
            let aid = result.insertId;
            //返回了一个文章的id
            resData.data = {
                'aid': aid
            }
            resData.message = "创建成功"
            res.json(resData)
        }
    })
})

只要插入不报错,那么文章就是成功的插入去了

2.删除文章

删除文章其实就很简单,删除指定的文章,就用文章的id号来删除
比如

delete:delete from article where aid = ?

主要逻辑这么写

	router.post('/delete',(req,res)=>{
		let sql = $sql.article.delete//sql语句,为什么这么写上一篇说过
		let params = req.body
		db.query(sql,[params.aid],(result,fields)=>{
				if(result){
						if(result.length == 0){
							resData.code = 300;
							resData.message="没有找到你的文章哦~"
							res.json(resData)
						}else{
							resData.message = "删除成功!"
							res.json(resData)
						}
				}
		})
	})

查询文章

查询就更简单了

select * from article where aid = ?

逻辑我觉得都可以不写了,因为和上面的都大同小异,没有什么太大的区别。

修改文章

update:update articles set title = ?,cid = ?,content = ? where aid = ?

这里修改的东西,可以随着自己的功能来修改,主要逻辑和之前也没什么区别。偷个懒也就不写了。

文章里面的东西,其实就这么几样,当然,可能还涉及到文章分类的增删查改,标签的增删查改

查询里面暂且还有一个 分页查询,还再思考sql怎么写…

 类似资料: