Nodejs基础、Nodejs打在一个类似Express的框架、MongoDb的基础、Nodejs操作Mongodb、Koa2入门实战。从0到1学会Nodejs入门教程
Koajs入门视频教程在线学习地址:https://www.bilibili.com/video/BV1xm4y1c7zr/?p=1
Koajs入门视频教程网盘下载地址:https://pan.baidu.com/s/1QN_XkXRXmIw6V7HevntBQQ 提取码:abcd
1、首先看看为什么要用Koa2设计RESTful Api接口?
Koa2属于Nodejs的框架,Nodejs最擅长的就是大数据,非阻塞式IO。所以nodejs最擅长的一个快就是写接口。
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。
因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论
2、一个好的Koa2 RESTful Api接口设计必须考虑以下几点。
1.协议:建议使用更安全的https协议
2.域名:尽量部署在专属域名下面,比如https://a.itying.com https://api.itying.com
3.应该将api的版本号放入URl中:
(1)比如: https://a.itying.com/api1/newslist https://a.itying.com/api2/newslist
(2)比如: https://a1.itying.com https://a2.itying.com
4.路径:在RESTful架构中,每个网址代表一种资源(resource),所以网址中建议不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。
5.http请求数据的方式:(7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS)
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
DELETE(DELETE):从服务器删除资源。
还有三个不常用的HTTP请求方式。
HEAD:获取资源的元数据。
OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
6、过滤方式、请求数据方式、返回数据、安全。
3、Koa2 RESTful Api接口 (get post put delete) 代码演示
router.get('/catelist',async (ctx)=>{ var result=await DB.find('articlecate',{}) //console.log(result); ctx.body={ result:result }; }) //增加购物车数据 router.post('/addCart',async (ctx)=>{ //接收客户端提交的数据 、主要做的操作就是增加数据 console.log(ctx.request.body); ctx.body={ "success":true, "message":'增加数据成功' }; }) //修改用餐人数的接口 router.put('/editPeopleInfo',async (ctx)=>{ //接收客户端提交的数据 、主要做的操作就是修改数据 console.log(ctx.request.body); ctx.body={ "success":true, "message":'修改数据成功' }; }) //用于删除数据源 router.delete('/deleteCart',async (ctx)=>{ //接收客户端提交的数据 、主要做的操作就是删除数据的操作 console.log(ctx.query); ctx.body={ "success":true, "message":'删除数据成功' }; })