nopCommerce 3.x 的最佳 API 策略(MVC vs WebAPI vs ServiceStack)



我们正在尝试确定将复杂API层添加到nopCommerce的修改版本的最佳方法。 为了支持一个步骤,我们正在为时尚/服装制造商构建一个自定义站点,该制造商具有许多前端应用程序要求,并且还需要与我们正在使用 Xamarin 构建的跨平台应用程序(iOS、Android、Windows)集成。 我们暂时决定从nopCommerce开始作为我们应用程序的基础,我们将在其中添加一个API层。

我们不确定的是,在nopCommerce(或其他类似的.NET包)中实现它的最佳方法是什么? 我们正在考虑的选项是MVC vs WebAPI vs ServiceStack。 我们一直在学习许多关于 PluralSight.com 的教程,以快速了解应用开发和 API 创建最佳实践,但似乎有很多选择,我们不确定从哪里开始。 我们似乎迷失在API的实现选项的海洋中,以及如何根据网站前端使用的JS包/框架的选择以及选择创建应用程序的工具来评估每个选项。

如果重要,我们的基本要求是:

  • 通过一些自定义ERP样式功能扩展基本电子商务包的核心

  • 可以有效地与 Web 前端(可能作为 SPA)和使用 Xamarin 构建的所有跨平台应用协同工作的 API 层

  • 确保所有界面类型的OAuth身份验证,以便我们可以在任何地方一致地使用社交媒体登录,并且可以在任何环境中对用户进行身份验证

鉴于此...

我的问题归结为三种API方法(MVC vs WebAPI与ServiceStack)中的哪一种最适合此?

以我的拙见,你应该使用服务堆栈,它比 web API 更容易实现并且更灵活,您可以添加/删除不同功能的插件,您可以获得大量基础设施代码 OOB,例如处理缓存的机制、记录器和其他不仅与基础设施相关的机制,例如验证器和 IOC 容器, 等。

您将获得一种单一的身份验证机制,包括自定义身份验证,OAuth,OAuth2等,适用于Linked In,Facebook和Google +,在这种情况下,您会发现自己在所有应用程序中重复使用大量代码。

我喜欢SS的另一件事是,实际上只有您和您的IOC,而不是其他,一切都很容易理解和实现(文档中可能会错过多个隐藏选项或配置,但您可以从Google群组或stackoverflow中的社区获得很多支持)

它更容易测试(单元测试)你已经有 httprequest 和 httpresponse 的抽象等等,你不会发现自己在为 MVC 附带的所有遗留 Web impl 做包装器。

SS在性能方面优于mvc web api,它获得了.net最快的json序列化程序之一。

我暂时正在开发一个 SPA 应用程序,我不后悔我想要进入 SS 框架。

只是我的2美分。

我会说Web API是服务层的最佳选择 - http://www.asp.net/vnext/overview/aspnet-web-api有很多优点 - Web API 已作为具有最新功能的独立组件处于发布周期 -安全 - 版本控制 - 基于属性的路由 - 奥达塔整合

相关内容

  • 没有找到相关文章

最新更新