一个项目中的 Web API 和 Web 应用程序与单独的项目
Posted
技术标签:
【中文标题】一个项目中的 Web API 和 Web 应用程序与单独的项目【英文标题】:Web API and web application in one project vs separate projects 【发布时间】:2018-05-17 01:38:39 【问题描述】:我对服务器、Web API 和 Web 应用程序的概念完全陌生。我有一个项目,我需要设计一个允许客户端修改数据库的 Web API(通过 API 对客户端隐藏)。
还有一个具有一些功能的网络应用程序。 Web 应用程序还必须与数据库交互。
所以我的问题是,我应该在同一个项目还是两个不同的项目中开发 Web API(服务器)和 Web 应用程序?
出于学习目的,我选择使用平均堆栈来实现系统。平均值代表 MongoDB、ExpressJS、Angular 和 NodeJS。由于 Mean stack 包含开发 API 和 Web 应用程序的技术,我应该在一个项目中开发所有代码并将其部署在我的服务器中还是将 Web API 和 Web 应用程序分成两个项目?
如果取决于场景,那么我应该选择哪种场景,它们的优缺点是什么?
【问题讨论】:
【参考方案1】:如果很快,Web API,它是后端,它是服务,您在 Web 应用程序中使用,Web 应用程序,它是前端,它是您在浏览器中看到的网站。
您可以在 github 上创建一个 repo,但服务器端和客户端项目是分开的。
您可以根据项目的目的选择服务器端和客户端项目的结构。如果您要创建 Web 应用程序然后开发移动应用程序(例如使用 ionic),您应该单独创建 Web API。如果您打算只创建 Web 应用程序并将您的 Web 应用程序和 Web API 部署到相同的服务(如 heroku),您可以制作与 heroku 示例中相同的结构(https://devcenter.heroku.com/articles/mean-apps-restful-api,也请查看此示例的 repo https://github.com/chrisckchang/mean-contactlist-angular2)。
【讨论】:
这个答案的第一段几乎无法辨认。以上是关于一个项目中的 Web API 和 Web 应用程序与单独的项目的主要内容,如果未能解决你的问题,请参考以下文章
动态 Web 项目中的谷歌日历 api (java) 身份验证错误
如何限制对Web API 2应用程序中的已知客户端应用程序的API访问?
如何使用标题中的两个参数和正文中的第二个参数从另一个 MVC 项目调用 Web API