ASP.NET MVC和提供第三方API

时间:2010-01-05 18:34:08

标签: asp.net-mvc api

我正在开发一个网络应用程序。这更像是一个业务线应用程序,而不是一个网站。我正在使用ASP.NET MVC,SQL Server 2008,我已经购买了LLBLGen。我需要向第三方提供某种API。例如,如果这是一个医疗应用程序,第三方可能需要CRUD患者,检索复杂的报告,参与某些类型的工作流程等。

在没有进入宇航员架构路线的情况下,使用MVC执行此操作的最佳方法是什么。我需要一个完整的“Web服务”类型层,还是可以在MVC中重用我的控制器?通过MVC暴露这种API是否有意义?最理想的是,我需要一个涉及最少代码重复的解决方案。我在使用MVC做REST时发现了一些东西,但有些内容相当模糊,我不确定它是否有意义。我需要一个合理的API,但我不需要遵循REST宗教的所有原则或类似的东西。除了为网站提供HTML前端之外,我还需要某种API,无论是REST,SOAP还是其他。

此外,处理网址有哪些选择?并非应用程序中的所有内容都映射到site / products / product-id之类的内容。其中一些涉及参与复杂的工作流程等。

1 个答案:

答案 0 :(得分:0)

如果您要拥有一个网站和一个Web服务,那么我会考虑将数据访问和实体层从MVC中分离出来。

这样,您的网络服务可以执行与您的网站相同的操作。我会有一个他们都互动的服务层。之后,调用将转到数据库并返回对象,Web服务和网站都不能与该层交互。

这个概念也称为Separation of Concerns

您不能/不应该在Web服务中重用MVC控制器。如果它们非常相似以至于无法区分,那么请考虑将您的网站编写为Web服务的客户,而不是成为同一解决方案的一部分。

相关问题