欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET中Web API的简单实例

程序员文章站 2023-12-19 09:08:52
一、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数据模型)

ASP.NET中Web API的简单实例

(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路由介绍,希望对大家的学习有所帮助。

上一篇:

下一篇: