ASP.NET MVC Web API 学习笔记---联系人增删改查
1. Web API中包含的方法
|
Action |
HTTP method |
Relative URI |
|
GetAllContact |
GET |
/api/contact |
|
GetContact |
GET |
/api/contact /id |
|
GetListBySex |
GET |
/api/contact?sex=sex |
|
PostContact |
POST |
/api/contact |
|
PutContact |
PUT |
/api/contact/id |
|
DeleteContact |
DELETE |
/api/contact/id |
http 四个主要的处理方法(get,put,post,delete)能够用来处理匹配增删改查操作:
Get 可以在服务端检索匹配URI匹配的资源,不会对服务器数据进行修改操作
Put 用户修改URI指定的特定资源,如果服务端允许,Put 也可以用户创建新的资源
Post 可以用于创建一个资源。服务端会为这个资源创建一个新的URI,并且将这个资源作为ResposeMessage 的一部分返回
Delete 用户删除URI匹配的资源
2. 创建一个工程
启动VS2012,在已经安装的模板中选择ASP.NET MVC4 Web 应用程序,单击确定
在ASP.NET MVC 4 项目对话框中选择 Web API,单击确定
(3) 添加一个Model,工程选择Models文件夹右键添加一个实体类,代码如下
{
public int ID { get; set; }
public string Name { get; set; }
public string Sex { get; set; }
public DateTime Birthday { get; set; }
public int Age { get; set; }
}
(4) 添加一个数据操作接口
{
/// <summary>
/// 查询所有
/// </summary>
/// <returns></returns>
IEnumerable<Contact> GetListAll();
/// <summary>
/// 根据ID查询
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Contact GetByID(int id);
/// <summary>
/// 添加
/// </summary>
/// <param name="contact"></param>
/// <returns></returns>
Contact Add(Contact contact);
/// <summary>
/// 根据ID删除
/// </summary>
/// <param name="id"></param>
void Remove(int id);
/// <summary>
/// 修改
/// </summary>
/// <param name="contact"></param>
/// <returns></returns>
bool Update(Contact contact);
}
(5) 添加数据操作接口实现类
{
private Log.Log log = Log.Log.Instance(typeof(ContactRep));
private List<Contact> list = new List<Contact>();
public ContactRep()
{
log.Info("执行构造方法");
list.Add(new Contact() { ID = 1, Age = 23, Birthday = Convert.ToDateTime("1977-05-30"), Name = "情缘", Sex = "男" });
list.Add(new Contact() { ID = 2, Age = 55, Birthday = Convert.ToDateTime("1937-05-30"), Name = "令狐冲", Sex = "男" });
list.Add(new Contact() { ID = 3, Age = 12, Birthday = Convert.ToDateTime("1987-05-30"), Name = "郭靖", Sex = "男" });
list.Add(new Contact() { ID = 4, Age = 18, Birthday = Convert.ToDateTime("1997-05-30"), Name = "黄蓉", Sex = "女" });
}
public IEnumerable<Contact> GetListAll()
{
return list;
}
public Contact GetByID(int id)
{
return list.Find(item => item.ID == id);
}
public Contact Add(Contact contact)
{
if (contact == null)
{
throw new NullReferenceException("空引用异常");
}
int maxid = list.Max(item => item.ID);
contact.ID = maxid + 1;
list.Add(contact);
return contact;
}
public void Remove(int id)
{
list.RemoveAll(item=>item.ID==id);
}
public bool Update(Contact contact)
{
if (contact == null)
{
throw new NullReferenceException("空引用异常");
}
Remove(contact.ID);
list.Add(contact);
return true;
}
}
(6)在Controllers文件中添加一个APIController
3. 获得一个资源
|
Action |
HTTP method |
Relative URI |
|
GetAllContact |
GET |
/api/contact |
|
GetContact |
GET |
/api/contact/id |
|
GetListBySex |
GET |
/api/contact?sex=sex |
获得所有联系人
{
return provider.GetListAll();
}
这个方法以Get开头,用于匹配Get方式请求,因为这个方法没有参数,所以这个方法将匹配/api/contact的请求
根据id获得联系人
{
Contact contact = provider.GetByID(id);
if (contact == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
return contact;
}
这个方法也是以Get方式开头,而这个方法包含一个id参数,这个方法会匹配/api/contact/id
的请求,而请求中的参数id会自动转换为int类型
如果没有找到相应id的联系人,则会抛出一个HttpResponseMessage的异常,这个异常是指向的404异常,请求资源不存在。
根据性别获得资源
{
return provider.GetListAll().Where(item => item.Sex == sex);
}
如果一个请求中包含了一个查询的参数,web
api 将尝试匹配/api/contact?sex=sex
ASP.NET MVC Web API 学习笔记---联系人增删改查的更多相关文章
- 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查
本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
- 【转载】ASP.NET MVC Web API 学习笔记---第一个Web API程序
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- ASP.NET MVC Web API 学习笔记---Web API概述及程序示例
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序【转】
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html 1. Web API简单说明 近来很多大型的平台都公开了Web API. ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序---近来很多大型的平台都公开了Web API
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- ASP.NET Web API基于OData的增删改查,以及处理实体间关系
本篇体验实现ASP.NET Web API基于OData的增删改查,以及处理实体间的关系. 首先是比较典型的一对多关系,Supplier和Product. public class Product { ...
- [转]ASP.NET Web API基于OData的增删改查,以及处理实体间关系
本文转自:http://www.cnblogs.com/darrenji/p/4926334.html 本篇体验实现ASP.NET Web API基于OData的增删改查,以及处理实体间的关系. 首先 ...
- asp.net mvc 三层加EF 登录注册 增删改查
首先打开vs软件新建项目创建web中的mvc项目再右击解决方案创建类库项目分别创建DAL层和BLL层再把DAL层和BLL层的类重命名在mvc项目中的Models文件夹创建model类在DAL创建ADO ...
随机推荐
- PipelineDB On Kafka
PipelineDB 安装yum install https://s3-us-west-2.amazonaws.com/download.pipelinedb.com/pipelinedb-0.9.8 ...
- Javascript几个时髦的hack技巧《Javascript Hacks for Hipsters》
转自:http://berzniz.com/post/68001735765/javascript-hacks-for-hipsters Javascript Hacks for Hipsters J ...
- Buffer Pool--内存相关术语
虚拟地址空间(virtual address space): 供应用程序能够申请访问的最大地址空间,32位系统上为4GB,64位系统上是8TB,虚拟地址空间映射的数据不一定存放在物理内存中,还可能存放 ...
- EF按时间范围条件查询
查询今日数据 db.Table.Where(d => System.Data.Entity.DbFunctions.DiffDays(d.Time, DateTime.Now) == )
- java.lang.IllegalArgumentException: No converter found for return value of type: class com.smart.result.Page
今天学习了一下spring boot 中的mybatis,用mybatis来增删改查用户,获取用户,添加用户,修改用户,删除用户,修改用户,都是可以的,但是获取带分页的用户列表,一直抛出这个java. ...
- 【Oracle 12c】CUUG OCP认证071考试原题解析(31)
31.choose the best answer Which statement is true regarding the USING clause in table joins? A) It c ...
- “全栈2019”Java第九十六章:抽象局部内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 初探APT 攻击
作者:joe 所属团队:Arctic Shell 本文编写参考: https://www.freebuf.com/vuls/175280.html https://www.freebuf. ...
- 查看npm全局安装位置
查看npm全局安装位置:npm config get prefix 设置位置:npm config set prefix 填写位置
- javascript获取wx.config内部字段解决微信分享
转自:http://www.jb51.net/article/80679.htm 专题推荐:js微信开发_脚本之家 http://www.jb51.net/Special/879.htm 背景在微信分 ...