asp_net_mvc4_web_api_的最新讲解极其详细介绍_第1页
asp_net_mvc4_web_api_的最新讲解极其详细介绍_第2页
asp_net_mvc4_web_api_的最新讲解极其详细介绍_第3页
asp_net_mvc4_web_api_的最新讲解极其详细介绍_第4页
asp_net_mvc4_web_api_的最新讲解极其详细介绍_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、http:/www . /articles/eq zyev出于某种原因,新的MVC添加了WebAPI以提供REST风格的web服务,个人偏好REST风格的web服务,比SOAP更轻,对客户端的要求更少,更好地满足网络数据传输的常规模式。(a)环境准备基本环境需要安装XP VS2010、VS2010 SP1升级包,MVC4升级包,安装VS2010后影响SQLServer2008的自动提示功能,需要安装补丁或插件,安装成功后,可以创建以下新MVC WebAPI项目(b)概述新创建的WebAPI项目与常规MVC项目一样,包含主Models、Views和Controllers等文

2、件夹和Global.asax文件Views不太用于WebAPI。Models的Model主要用于存储与Service交互的对象,Service存储转换为Json格式的数据以进行传输。Controllers的控制器与web服务相对应,Global.asax与常规MVC一样,用于配置路由规则(c)型号与WCF的数据协议相比,MVC WebAPI的Model只是一个POCO,没有其他。例如,可以创建以下模型:Public class TestUseModePublic string ModeKey getSetPublic string ModeValue getSet附注:Model必须提供pub

3、lic的属性,以便在JSON或XML deserialize期间配置(d)控制器MVC WebAPI中的Controllers类似于常规MVC中的Controllers,但不再从Controller继承,而是继承API中的ApiController。Controller可以包含多个响应请求的方法(e)全球默认情况下,模板包含两个茄子路由规则,分别对应于来自WebAPI和常规MVC的web请求。默认WebAPI路由规则如下1 routes。MapHttpRoute(2 name: DefaultApi 、3 route template : API/控制器/id ,4 defaults : ne

4、w id=route parameter . optional 5);如您所见,默认路由使用的固定API是Uri的先导,用于根据Microsoft的正式说明区分一般web请求和web服务的请求路径。note : the reason for using API in the route is to avoid collisions with ASP .NET MVC routing.that way,You can have /contacts go to an MVC controller,and /API/contacts go to a web API controller默认情况下,C

5、ontroller与Action的方法名称相关联,因此默认路由规则仅指向Controller,而不指向特定的Action。特别是使用上述路由规则时,它对应于以下控制器:public class test controller : API控制器public static list all modelist=new list();Public IEnumerable GetAll()Return allModeListpublic ienumerable getone(string key)return all modelist . find all(mode)= if(mode . modeke

6、y . equals(key)return true;Return false);Public bool postnew (testusemode模式)Allmodelist.add(模式);Return truePublic int Delete(字符串关键字)return all modelist . remove all(mode)= if(mode . modekey=key)return true;Return false);Public int DeleteAll()return all modelist . remove all(mode)= return true;);Publ

7、ic intputone (string key,string value)listup data list=all modelist . find all(mode)= if(mode . modekey=key)return true;Return false);Foreach(var mode in upDataList)模式。ModeValue=valueReturn upDataList。计数;然后,存在以下对应关系:使用JS调用上面提供的数据接口。1 function getAll() 2 $。ajax(3 URL : API/测试/、4 type: GET、5 success:

8、function (data) 6 document . getelementbyid( modes )。innerhtml=7 $。each (data,function(key,val)8 var str=val . mode key 3360 val . mode value;9 $(,html: str)。append to($(# modes);10 );1112 )。fail(13function (xhr,文本状态,err) 14 alert(error 3360 err);15 );1617181920 function add() 2122美元。ajax(23 URL : A

9、PI/测试/、24型3360“后”、25 dataType: json 、26 data : modekey : document . getelement byid( txt key )。value,“mode value”:文档27 success: function (data) 28 get all();29.fail(31 function (xhr,文本状态,err) 32 alert(error 3360 err);33 );34353637 function find() 3839美元。ajax(40 URL : API/test/ document . getelement

10、byid( txtfindkey )。value、41 type: GET、42 success: function (data) 43 document . getelementbyid( modes )。innerhtml=44美元。each(数据,基础(密钥,val) 45 var str=val . modekey : val . mode value;46 $(,html: str)。append to($(# modes);47 );4849 )。fail(50function (xhr,文本状态,err) 51警报(error 3360 err);52 );535455 func

11、tion removeAll() 56美元。ajax(57 URL : API/测试/、58 type: DELETE、59 success: function (data) 60 document . getelementbyid( modes )。innerhtml=61 get all();6263 )。fail(64function (xhr,文本状态,err) 65警报(error 3360 err);66 );676869 function remove() 70美元。ajax(71 URL : API/test/ document . getelement byid( txtremovekey

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论