网络 Api 集成
Web Api integration
我有一个 MVC 5 WebApi 项目,它使用帐户控制器来管理用户和资源。它工作正常。
现在我需要添加相同的客户端功能,即使用外部应用程序(iOS、Android、Windows Phone)。对于这个 porpuse,我想使用 WebApi。将 WebApi 添加到我的项目的最佳做法是什么?我需要使用 AccountUser 来授权、创建和登录新用户。我可以:
- 将 WebApi 集成到现有项目中
- 创建一个新的 WebApi 项目并管理同一个数据库
什么是最佳做法?
谢谢
我建议将您的共享代码(实体、命令和查询等)移动到不同的 class 库并将 MVC 与 WebAPI 分开。这两个项目都可以使用共享代码。
原因是 MVC 层可能会响应包含 HTML、CSS 和 JavaScript 的视图,而 (Web)API 层将可能 return 只是 JSON 或 XML。我总是想到关注点分离。
没有灵丹妙药;你可以两者都做。您需要自己决定哪种方法可行,通过比较差异并选择最符合您要求的方案。
要记住的一件事是,两个项目意味着 IIS 中的两个应用程序,其中一个是因为您有两个 Global.asax
来初始化各自的应用程序。这可能是也可能不是好处。
我有一个 MVC 5 WebApi 项目,它使用帐户控制器来管理用户和资源。它工作正常。
现在我需要添加相同的客户端功能,即使用外部应用程序(iOS、Android、Windows Phone)。对于这个 porpuse,我想使用 WebApi。将 WebApi 添加到我的项目的最佳做法是什么?我需要使用 AccountUser 来授权、创建和登录新用户。我可以:
- 将 WebApi 集成到现有项目中
- 创建一个新的 WebApi 项目并管理同一个数据库
什么是最佳做法?
谢谢
我建议将您的共享代码(实体、命令和查询等)移动到不同的 class 库并将 MVC 与 WebAPI 分开。这两个项目都可以使用共享代码。
原因是 MVC 层可能会响应包含 HTML、CSS 和 JavaScript 的视图,而 (Web)API 层将可能 return 只是 JSON 或 XML。我总是想到关注点分离。
没有灵丹妙药;你可以两者都做。您需要自己决定哪种方法可行,通过比较差异并选择最符合您要求的方案。
要记住的一件事是,两个项目意味着 IIS 中的两个应用程序,其中一个是因为您有两个 Global.asax
来初始化各自的应用程序。这可能是也可能不是好处。