我正在开发一个Web应用程序,其想法是使用ASP.Net MVC。各种网页将依赖于从数据库中提取的数据,例如员工列表,产品列表。
但是,如果我们根本不创建任何web api项目呢?而是在我的MVC控制器类中,我编写了返回员工/产品列表的方法,然后通过AJAX在视图中使用这些方法。
这种方法可能存在哪些缺点?
谢谢
是的你可以创建一个APIController
与GetEmployees()
动作返回你的Asp.NET MVC应用程序中的json
或xml
,但它不是为此而做的。
我建议你用树项目做一个解决方案:
实现此目的,您可以在不干扰Web应用程序的情况下对API进行大量调用,反之亦然
ASP.NET MVC为您提供了一种强大的,基于模式的方法来构建动态网站,从而实现关注点的清晰分离,并使您可以完全控制标记,从而实现愉快,敏捷的开发。 ASP.NET MVC包含许多功能,可以实现快速,TDD友好的开发,以创建使用最新Web标准的复杂应用程序。
ASP.NET Web API是一个框架,可以轻松构建可覆盖广泛客户端的HTTP服务,包括浏览器和移动设备。 ASP.NET Web API是在.NET Framework上构建RESTful应用程序的理想平台。
这里的核心差异是预期的用例。是的,您可以使用MVC实现RESTful服务,并且可以从Web API返回HTML视图。特别是在.net Core中,它们变得更加相似。
尽管如此,微软的开发人员还没有做到这一点,并且保持预期用途将主要对您来说很方便。
关于你的问题:
如果您想主动返回使用ajax调用的网站,请使用mvc。
如果要通过部署单页应用程序来分离客户端/服务器,请使用Web API作为主干。