当前位置: 首页 > 后端技术 > Node.js

这两天Eggjs

时间:2023-04-03 15:12:40 Node.js

下RestfulAPI的实现,真是窝在骨头里发霉,春困秋倦,夏眠醉。今天简单说说eggjs下RestfulAPI的实现。主要是egg的文档不是很清楚,方便新人快速上手。也就是说,eggjs真的好用。通过在koa中添加一层,可以保证团队以一套统一的约定进行开发;另外,egg本身为你提供了很多清晰的插件和中间件,你只需要使用它们即可,非常方便易用。但是eggjs的文档有点问题,没有强调一些需要强调的点(都写了但是没有强调)。当我们扫一眼文档的时候,有时候总觉得有些莫名其妙,Restfulapi的实现就是其中之一。1.什么是RestfulAPI?我用人话来解释一下:RestfulAPI:为了让接口的设计更加简洁易懂,由人定义的一套API命名规范。RestfulAPI有几个特点:面向资源:Interface名称是动物园和动物,而不是像getAllAnimals那样使用Http动词:GET/PUT/POST/DELETE/PATCH/HEAD/OPTIONS,而不是我们只使用的GET和POST日常生活。话不多说,进入正题。参考资料:《如何给老婆解释什么是RESTful》(晚上立马给爸妈讲解区块链,效果很好),《RESTful API 设计指南》2。egg下如何实现RestfulAPI如果我们直接找文档,可以在eggjs中找到我在文档下找到了RESTfulAPI的文档,看了之后才知道egg帮我们实现了一个RestfulAPI的对应关系在内部。甚至路由也应该这样写://app/router.jsmodule.exports=app=>{app.router.resources('topics','/api/v2/topics',app.controller.topics);};但是这个在controller中怎么写呢?这个对应哪个函数?反正我看完后傻眼了。其实这和我对RestfulAPI的理解不够深入有关,但是没有文档告诉我如何实现。其实egg在Router那一章也提到过这个。可以看到如果是GET的话,路径只有/posts,对应posts的Controllers中的index方法等等。这和《RESTful API 设计指南》中提到的标准写法是一样的:到这里才明白什么是RestfulAPI,应该怎么写。另外还有三点需要注意:egg会尝试对应你Controllers中定义的方法。如果没有定义对应的方法,会返回404错误。路径中的id可以通过ctx.params.id获取,如下:show方法:GET/posts/1编辑方法:GET/posts/1/editupdate方法:PUT/posts/1Egg的文档VUE不同,需要小心一点,否则你可能会像我一样多看一会儿。多于。