如何在Node Js上为Rest API创建一个干净的架构

时间:2013-12-20 14:30:53

标签: node.js api rest architecture restify

我正在考虑将一些REST服务移动到NodeJS。我唯一担心的是这种解决方案的架构。

它存在某些指导方针吗?当然,我看到一些图书馆喜欢解决问题。这是一个好的开始,但还不够。

我正在寻找分层,依赖注入,单元测试,csrf等等。

3 个答案:

答案 0 :(得分:4)

看看这里:http://nodeframework.com/

这是用于各种用途的Nodejs框架列表。你会显示网页吗?您可能会选择其中一个MVC模型。只是创建一个API?您只需要一个REST API框架。

日志,单元测试,文档样式等的选择并非特定于Node(即使它相对较新)。有多个单元测试框架,日志框架,文档样式/框架等。这对于Node以及Java,C ++和其他流行语言都是如此。这些框架的开发人员试图使用他们的软件“简单” - 因为你没有绑定多个依赖项,可以交换其他部分,轻松集成等等。

如果您正在寻找一体化解决方案,我怀疑您会找到它。因为每个人都有不同的口味,所以解决方案的每个部分都有一些选项,您可以选择适合您的部分(以及您的要求/客户)。 这次有用的可能不是下次的最佳选择。

我建议在线寻找一个接近你想要做的事情的示例,然后按照他们的示例或使用相同的模块从他们的演示中构建。

修改:在第一个链接之后,Joyent here提供了一个已弃用的框架列表。

Joyent列表的

Edit2: This particular part可能对您有用。 也许“Boilerplate”模式将帮助您进行搜索。

答案 1 :(得分:4)

你可以查看这篇文章: https://solidgeargroup.com/clean-architecture-in-nodejs

在讨论清洁体系结构的某些模式时,比如创建适配器层以将业务逻辑与框架隔离开来,使代码更具可重用性和可测试性。

包含代码示例,用于连接REST和GraphQL API。还有单元测试和mongo db连接

答案 2 :(得分:2)

检查出来:https://github.com/neiesc/ListOfMinimalistFrameworks#web-framework-for-nodejs

我使用过express和Koa,他们都非常适合REST架构。

还有Restify和其他一些框架,可以轻松构建一个干净的REST API。

这些框架中的大多数都支持测试,依赖注入等。我建议尝试Express.js,因为它是最好的。