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