REST API 和网络应用在同一个项目中

REST API and web app on same project

我创建了一个具有以下端点的 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?]

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

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

我需要此 api 以供将来实施。我会在移动应用程序中重新使用它。

如何让 api 和 webapp 在同一个项目中共存?我必须重复路由逻辑吗?我正在努力保持干爽。

我是否必须使用像 request 这样的库来进行 api 调用?

例如 - www.app.com/courses/new 必须链接到 www.api.app.com/courses [GET]?我将如何处理放置和删除?

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

亲切的问候。

我怀疑目前您的所有 API 逻辑都融入了 express rest api。在我看来,最干净的方法是分离 API(作为一个模块),这样您就可以将它重新用于您的 webapp。

所以最后:

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