热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么人们使用MVC中的WebAPI控制器?-WhypeopleuseWebAPIcontrollerinMVC

iamnewinMVC&webapi.soihavecoupleofquestionregardingMVC&webapiusage.我是MVC和

i am new in MVC & web api.so i have couple of question regarding MVC & web api usage.

我是MVC和web api的新手。所以我有几个关于MVC和web api使用的问题。

1) i have seen that people using Web API controller in MVC instead of MVC default controller. i like to know the reason and advantage.

1)我看到人们在MVC中使用Web API控制器而不是MVC默认控制器。我想知道原因和优点。

2) also guide me about when we should use MVC default controller and when we should use Web API controller in MVC instead of MVC default controller ?

2)也告诉我什么时候应该使用MVC默认控制器,什么时候应该在MVC中使用Web API控制器而不是MVC默认控制器?

3) what are the restriction is there when we work with Web API controller .

3)使用Web API控制器时有什么限制?

4) can we declare any public & private method in Web API controller with any function name instead of get() put() delete() etc.

4)我们可以在Web API控制器中声明任何具有函数名的公共和私有方法,而不是get() put() delete()等。

5) what is put() function for ?

什么是put()函数?

6) can we override any function in Web API controller ?

6)能否覆盖Web API控制器中的任何功能?

thanks

谢谢

3 个解决方案

#1


11  

Web API and ASP.NET MVC are two different beasts.

Web API和ASP。NET MVC是两个不同的东西。

ASP.NET MVC is used for a RPC style of app, this means that your endpoints perform arbitrary actions. So you can have a PersonController with an action called FooBar and you can call that procedure by GETting domain.com/person/foobar.

ASP。NET MVC用于RPC样式的应用程序,这意味着您的端点执行任意操作。你可以有一个叫FooBar的person控制器你可以通过获取domain.com/person/foobar来调用这个过程。

Web API is used (mostly) for REST (although is also does support RPC). This means that your controller exposes a resource that you then GET or POST or PUT or DELETE. So your PersonController in Web API will have a Get method and a Post method etc.

Web API主要用于REST(尽管也支持RPC)。这意味着您的控制器公开一个资源,然后您可以获取、发布、放置或删除该资源。所以你在Web API中的PersonController会有一个Get方法和Post方法等等。

You can declare any methods you like in an API controller class. In a 100% purely REST controller you would have methods that map to the HTTP verbs (i.e. Get, Post, Put, Delete). You can use the Web API routing mechanism to also map URLs to an action (see more here: http://encosia.com/rest-vs-rpc-in-asp-net-web-api-who-cares-it-does-both/) if you'd like too.

您可以在API控制器类中声明任何您喜欢的方法。在100%纯REST控制器中,您将拥有映射到HTTP谓词的方法(例如,Get、Post、Put、Delete)。您可以使用Web API路由机制将url映射到一个操作上(请参见此处:http://encosia.com/rest-vs-rpc-in-asp-net- Web - API -it-do -both/),如果您也想这样做的话。

The put-function is for handling the HTTP verb PUT. So if you have a PersonController with a Put method you would in that method e.g. handle an update of a person instance.

放置函数用于处理HTTP谓词PUT。如果你有一个带有Put方法的PersonController,你会在那个方法中处理person实例的更新。

#2


10  

1) With a WebAPI controller you can just return json/xml, resulting in an advantage: you can use any client, not just a web browser. You also get GET ajax by default in WebAPI.

1)使用WebAPI控制器,您只需返回json/xml,就会产生一个优势:您可以使用任何客户端,而不仅仅是web浏览器。您还可以在WebAPI中默认获得ajax。

2) Are you only going to use a web browser? Use MVC. Otherwise? Use WebAPI and a web browser/whatever as a client to WebAPI.

2)你只会使用web浏览器吗?使用MVC。否则呢?使用WebAPI和web浏览器作为WebAPI的客户端。

3) returning json/xml.

3)返回json / xml。

4) Yes.

4)是的。

5) Update an object.

5)更新一个对象。

6) Yes.

6)是的。

#3


3  

I think you have to try following url link for further understanding about Web API. It will solved all your doubt.

我认为您必须尝试遵循url链接以进一步了解Web API。它将解决你所有的疑问。

http://www.asp.net/web-api

http://www.asp.net/web-api


推荐阅读
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 有没有一种方法可以在不继承UIAlertController的子类或不涉及UIAlertActions的情况下 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
author-avatar
dsvsV
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有