1、首先看看为什么要用Koa2设计RESTful Api接口?
Koa2属于Nodejs的框架,Nodejs最擅长的就是大数据,非阻塞式IO。所以nodejs最擅长的一个快就是写接口。
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备…)。
因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论
如果您是新手想通过视频教程学习,点击这里: https://pan.baidu.com/s/1KNaA97kGwNhavch5rP_G7w
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":'删除数据成功'
};
})
如果您是新手想通过视频教程学习,点击这里: https://pan.baidu.com/s/1KNaA97kGwNhavch5rP_G7w
**Nodejs Koa交流群:**319732955 想和大神交流的加下群