同一项目上的REST API和Web应用程序

时间:2015-04-17 11:53:23

标签: node.js api rest backbone.js express

我创建了一个带有以下端点的快速js REST API,

/courses            [GET] [POST]
/courses/:id        [GET] [PUT] [DELETE]

/categories         [GET] [POST]
/categories/:name   [GET] [PUT] [DELETE]
/categories/:name/courses (return list of /courses/:id) [GET] [POST?]

/providers          [GET] [POST]
/providers/:name    [GET] [PUT] [DELETE]
/providers/:name/courses (return list of /courses/:id) [GET] [POST?]

提供者可以有很多课程,这些课程属于类别。

我试图将其全部保留在服务器端。显然我可以使用骨干或其他框架来制作我的应用程序SPA,但我选择服务器端所有内容的原因是因为我不想要使用#hashtags链接。

我需要这个api用于未来的实施。我会在移动应用中重复使用它。

如何让api和webapp在同一个项目中共存?我必须重复路由逻辑吗?我试图让它干涸。

我是否必须使用 请求 等库来进行API调用?

例如www.app.com/courses/new必须与www.api.app.com/courses [GET]相关联?我该如何处理put和delete?

这一切似乎都是一个设计问题。

亲切的问候。

1 个答案:

答案 0 :(得分:1)

我怀疑目前所有的API逻辑都被烘焙到express rest api中。在我看来,最简洁的方法是将API(作为模块)解耦,以便您可以将其重新用于您的webapp。
Structure
所以最后:

  • api.js执行所有后端逻辑
  • rest.js需要api.js
  • webapp.js也需要api.js