我是 MVC 和 Web api 的新手。所以我有几个关于 MVC 和 Web api 使用的问题。
1) 我看到人们在 MVC 中使用 Web API Controller 而不是 MVC 默认 Controller 。我想知道原因和优点。
2) 还指导我什么时候应该使用 MVC 默认 Controller 以及什么时候应该在 MVC 中使用 Web API Controller 而不是 MVC 默认 Controller ?
3)当我们使用Web API Controller 时有什么限制。
4) 我们可以在 Web API Controller 中使用任何函数名称声明任何公共(public)和私有(private)方法,而不是 get() put() delete() 等。
5) put() 函数的用途是什么?
6) 我们可以重写 Web API Controller 中的任何函数吗?
谢谢
最佳答案
Web API 和 ASP.NET MVC 是两种不同的野兽。
ASP.NET MVC 用于 RPC 风格的应用程序,这意味着您的端点可以执行任意操作。因此,您可以拥有一个具有名为 FooBar 的操作的 PersonController,并且可以通过 GETting domain.com/person/foobar 来调用该过程。
Web API(主要)用于 REST(尽管也支持 RPC)。这意味着您的 Controller 公开了您随后可以获取、发布、放置或删除的资源。所以你的Web API中的PersonController将有一个Get方法和一个Post方法等。
您可以在 API Controller 类中声明您喜欢的任何方法。在 100% 纯 REST Controller 中,您将拥有映射到 HTTP 动词的方法(即 Get、Post、Put、Delete)。如果您愿意,还可以使用 Web API 路由机制将 URL 映射到操作(请参阅此处的更多信息:http://encosia.com/rest-vs-rpc-in-asp-net-web-api-who-cares-it-does-both/)。
put 函数用于处理 HTTP 动词 PUT。因此,如果您有一个具有 Put 方法的 PersonController,您将在该方法中使用,例如处理人员实例的更新。
关于asp.net-mvc - 为什么人们在 MVC 中使用 Web API Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19924550/