ASP.NET中Web API的简单实例
程序员文章站
2023-12-21 19:09:04
一、web api的路由
1、在visual studio中新建mvc4项目,在app_start目录下有一个webapiconfig.cs文件,这个文件中就是相应的we...
一、web api的路由
1、在visual studio中新建mvc4项目,在app_start目录下有一个webapiconfig.cs文件,这个文件中就是相应的web api的路由配置了。
2、web api 框架默认是基于 restful 架构模式的,与asp.net mvc 有区别的是,它会根据 http 请求的 httpmethod(get、post、put、delete)来在controller 中查找 action,规则是:action 名中是否以get、post 开头?action 上标记 httpget、httppost 等标记?
3、当然可以修改默认的配置,让客户端在调用时显式指定 action 名称,例如
config.routes.maphttproute( name: "defaultapi", routetemplate: "api/{controller}/{action}/{id}", defaults: new { id = routeparameter.optional } );
这样,由于显式指定了 action 名称,web api 会使用该名称来查找对应的 action 方法,而不再按照 httpmethod 约定来查找对应的 action。
二、asp.net中web api的简单实例
1、get请求数据
(1)、定义一个usermodel 类
public class usermodel { public string userid { get; set; } public string username { get; set; } }
(2)、添加一个web api controller :usercontroller
public class usercontroller : apicontroller { public usermodel getadmin() { return new usermodel() { userid = "000", username = "admin" }; } }
(3)、在浏览器访问:api/user/getadmin (默认返回的是xml数据模型)
(4)、ajax请求这个api,指定数据格式为json
$.ajax({ type: 'get', url: 'api/user/getadmin', datatype: 'json', success: function (data, textstatus) { alert(data.userid + " | " + data.username); }, error: function (xmlhttprequest, textstatus, errorthrown) { } });
2、post提交数据
(1)、usercontroller 里面添加一个action
public bool add(usermodel user) { return user != null; }
(2)、页面上添加一个button
<input type="button" name="btnok" id="btnok" value="发送post请求" />
(3)、js post提交数据
$('#btnok').bind('click', function () { //创建ajax请求,将数据发送到后台处理 var postdata = { userid: '001', username: 'qeefee' }; $.ajax({ type: 'post', url: 'api/user/add', data: postdata, datatype: 'json', success: function (data, textstatus) { alert(data); }, error: function (xmlhttprequest, textstatus, errorthrown) { } }); });
以上就是asp.net中web api的简单实例,还包括web api路由介绍,希望对大家的学习有所帮助。