MVC中的webApi
来源:互联网 发布:云南管家婆软件总代理 编辑:程序博客网 时间:2024/05/29 13:19
namespace t3_WebAPI.Controllers//基于资源的{ public class UserInfoController : ApiController//继承apicontroller { // GET api/userinfo //使用Method=Get的方式请求url=api/userinfo,则这个方法会被调用执行 //查询所有信息 public IEnumerable<UserInfo> Get() { List<UserInfo> list=new List<UserInfo>(); list.Add(new UserInfo() { Id = 1, Name = "clx" }); list.Add(new UserInfo() { Id = 2, Name = "gj" }); list.Add(new UserInfo() { Id = 3, Name = "hr" }); list.Add(new UserInfo() { Id = 4, Name = "hqg" }); return list; } // GET api/userinfo/5 //查询单条信息 public string Get(int id) { return "value"; } // POST api/userinfo //增加 //public void Post(string value) //{ //} [HttpPost] public void Add(string value) { } // PUT api/userinfo/5 //修改 [HttpPut] public void Put(int id, string value) { } // DELETE api/userinfo/5 //删除 [HttpDelete] public void Delete(int id) { } }}
1.上面的方法的访问路径:
localhost:8080/api/uerinfo(默认html形式展示)
2.怎么调用(两种方式的区别就是第二种可以跨域)
方式一:jquery的ajax
指定请求的数据类型: contentType: "application/json; charset=utf-8",//数据类型
主要的属性:
type:请求方式,包括Get、Post、Put、Delete
url:请求资源,根据路由规则编写
data:请求数据,为json格式
contentType:请求数据的类型及编码
dataType:返回的数据类型,可以是text、json
success:成功处理的回调函数
备注中为修改请求的示例
注意:使用js的异步操作,不可以跨域访问
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="Scripts/jquery-1.7.1.min.js"></script> <script> $(function() { LoadList(); }); function LoadList() { $.ajax({ type: 'get',//请求方式,可以为Get,Post,Put,Delete data: '{}',//发送的参数 url: 'http://localhost:2460/api/userinfo',//请求地址 contentType: "application/json; charset=utf-8",//数据类型(必须加) dataType: 'json', success: function(list) { var list1 = $('#list'); list1.empty(); $.each(list, function(index, item) { list1.append('<tr><td>' + item.Id + '</td><td>' + item.Name + '</td></tr>'); }); } }); } </script></head><body> <table border="1"> <tr> <th>编号</th> <th>姓名</th> </tr> <tbody id="list"> </tbody> </table></body>
方式二:HttpClient对象
namespace t3_Client.Controllers{ public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { //客户端对象的创建与初始化 HttpClient client=new HttpClient(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //执行Get操作 HttpResponseMessage response= client.GetAsync("http://localhost:2460/api/userinfo").Result; var list= response.Content.ReadAsAsync<List<UserInfo>>().Result;//异步的(读取正文数据ReadAsAsync用泛型可以指定类型) ViewData.Model = list; return View(); } }}
两种web服务
SOAP风格:基于方法,产品是WebService
REST风格:基于资源,产品是WebAPI
可以返回json、xml类型的数据
0 0
- MVC中的webApi
- 如何更改MVC WebApi 中的请求路径
- MVC WEBAPI
- mvc webapi路由重写
- WebApi&MVC对比
- silverlight调用MVC WebApi方法
- 启用 mvc webapi 支持 session
- c# 【MVC】WebApi开发实例
- ASP.NET MVC WebAPI请求
- MVC WebAPI跨域问题
- MVC WebApi自定义异常过滤器
- MVC WebApi自定义拦截器
- MVC WEBAPI(二)-----WEB API 工作方式
- MVC WebAPI 三层分布式框架开发
- MVC中调用WEBAPI的方法
- Unity IOC注入详细配置(MVC,WebApi)
- ASP.NET MVC WEBAPI第一次接触
- ASP.NET MVC学习系列-WebAPI请求
- 九度OJ-1448:Legal or Not
- 单向链表 练习3.2 一个链表中的元素由另一个链表实现
- Android的Activity的小知识点
- 文字转语音软件
- git与repo的使用
- MVC中的webApi
- Linux 杀毒软件发现的漏洞可使得黑客获得 root 权限
- 浅谈C++继承
- Caffe | Check failed: error == cudaSuccess (2 vs. 0) out of memory
- MySQL · 特性分析 · 内部临时表
- C/C++之NULL、0、nullptr详解
- 1026.Table Tennis (30)...to be continued...
- iOS 父视图半透明问题
- codeforce round 399# B