Eggjs下Restful API的完成

这两天真的是宅的骨头都发霉了,春困秋乏夏瞌睡,也是醉了。本日就扼要说说eggjs下Restful API的完成。重要的原因是egg的文档写的不太清晰,轻易新人疾速上手。话说eggjs真的是蛮好用的,经由过程在koa上架了一层,保证了团队以一套一致的商定开辟;别的,egg自身供应许多邃晓的插件和中间件给你,你只管用就好了,异常的轻易和轻易上手。然则eggjs的文档有点小问题,它在有些须要强调的点上没有强调(它都写了只是没有强调罢了)。致使我们字斟句酌去扫文档的时刻,偶然总会以为有些莫名,Restful api的完成就是其中之一。

1. 什么是Restful API

说人话的体式格局来诠释一下就是:

Restful API: 为了让接口的设想的更简明易懂,人们定义的一套API定名范例

Restful API有几个特征:

  • 面向资本:接口定名都是zoos、animals,而不是getAllAnimals如许的
  • 运用Http动词:GET/PUT/POST/DELETE/PATCH/HEAD/OPTIONS,而不是我们一样平常只用的GET和POST

详细的内容能够参考相干文档,就不再多说了,立时进入正题

参考文档:《怎样给妻子诠释什么是RESTful》(我晚上立时秀了波怎样给爸妈诠释区块链,结果棒棒的),《RESTful API 设想指南

2. 怎样在egg下完成Restful API

假如我们直接找寻文档的话,能够在eggjs文档下发明RESTful API的文档,然后看完以后知道了egg已帮我们内部完成了一份Restful API的对应关联。

以至路由应当这么写:

// app/router.js
module.exports = app => {
  app.router.resources('topics', '/api/v2/topics', app.controller.topics);
};

然则这个controller里该怎样写?这对应的是哪一个函数?横竖我看完了是一脸懵逼。实在这和我自身对Restful API的相识不深切有关,然则也没有文档和我说完成啊。

实在egg在Router章节中说到了这一点,

《Eggjs下Restful API的完成》

能够看到,假如是GET, 途径只要/posts,那末对应着posts这个Controllers中的index要领,其他顺次类推。
如许和《RESTful API 设想指南》中提到的范例写法是一样的:

《Eggjs下Restful API的完成》

到这里我才邃晓Restful API终究是什么,应当怎样写。

别的须要注重的三个点

  1. egg会尝试对应你Controllers中定义的要领,假如没有定义响应的要领,会返回404毛病
  2. 途径中的id能够运用ctx.params.id来取得
  3. 现实的途径誊写以下:
show要领:
GET /posts/1

edit要领:
GET /posts/1/edit

update要领:
PUT /posts/1

Egg的文档VUE的差别,须要轻微专心一点,不然可能会像我一样看一会儿。以上。

    原文作者:这是你的玩具车吗
    原文地址: https://segmentfault.com/a/1190000013816645
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞