使用MVC在ASP.NET中实现API的最佳方法是什么?
时间:2020-03-06 14:44:15 来源:igfitidea点击:
我一直是Web窗体模型的ASP.NET开发人员,并且正在使用一个新项目作为机会来使自己熟悉ASP.NET MVC。
该应用程序将需要一个API,以便其他一组应用程序可以与其通信。在此之前,我总是仅使用标准的Web服务来构建API。
附带说明一下,我有点犹豫,首先要进入创建API的REST风格,至少对于此特定实例而言。此应用程序可能需要API版本控制的概念,我认为REST方法在此方面有点麻烦,因为REST方法实质上分散在站点的所有控制器中。 (但是,如果对潜在的版本控制需求有一个好的答案,我并不完全反对。)
那么,堆栈溢出居民又怎么说呢?
解决方案
我仍然会建议一个可以为客户端使用者或者服务器端使用者提供服务的服务层。甚至可能以各种格式返回数据,具体取决于使用方的调用方。
我会同意基尔霍夫的观点。尝试使用从" IFacade"继承的" Facade"包装器类。在Facade类中,放置代码以使用Web服务。这样,控制器就可以简单地调用Facade。好的一面是,我们可以交换一个" DummyFacade",该" DummyFacade"实现了相同的IFacade接口,因为它实际上并不与Web服务对话,而只是返回静态内容。让我们实际上进行一些单元测试,而无需点击服务。基本上与存储库模式相同。