Koa2 RESTful Api接口 (get post put delete)


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":'删除数据成功'
    };

})