经过我三篇文章的解惑,webapi我相信大家没有问题了!
先创建了一个usermodel
public class usermodel{public string userid { get; set; }public string username { get; set; }
}
然后添加web api controller
public class usercontroller : apicontroller{public usermodel getadmin()
{return new usermodel() { userid = "000", username = "admin" };
}
}
注册路由
public static void register(httpconfiguration config)
{
config.routes.maphttproute(
name: "defaultapi",
routetemplate: "api/{controller}/{id}",
defaults: new { id = routeparameter.optional }
);
}
在global中注册
protected void application_start(object sender, eventargs e)
{webapiconfig.register(globalconfiguration.configuration);
}
这个时候用地址栏访问地址:api/user/getadmin
这个时侯默认返回的是xml数据模型。
使用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) {
}
});
alert出来的结果是:
这样看来,真的是dudu所说的,可以根据请求的数据类型返回指定的数据格式。
post数据修改一下controller,添加一个add方法
public bool add(usermodel user)
{return user != null;
}
只为了测试,所以这里只判断一下传入的实体是否为空,如果不为空则返回true
我在页面上添加了一个button,代码如下:
<input type="button" name="btnok" id="btnok" value="发送post请求" />
添加js代码
$('#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) {
}
});
});
再次运行页面
我们附加进程进行调试,在发送ajax请求的时候,服务器段接收到的数据如图:
如果认为此文对您有帮助,别忘了支持一下哦!
以上就是怎么操作 asp.net web api ?的详细内容。