版权声明:本文为博主原创文章,只为分享而编,欢迎各位学习以及转载。 https://blog.csdn.net/qq285679784/article/details/82462401
实例图片
WebApi接口源码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace API
{
//Void:返回状态码200,无数据
//Object: 返回状态码200,数据
[RoutePrefix("app/v1")]
public class RestController : ApiController
{
/// <summary>
/// User Data List
/// </summary>
private readonly List<Users> _userList = new List<Users>
{
new Users {UserID = 1, UserName = "zzl", UserEmail = "[email protected]"
, Birthday= Convert.ToDateTime("1991-05-31")},
new Users {UserID = 2, UserName = "Spiderman", UserEmail = "[email protected]"
, Birthday= Convert.ToDateTime("1991-05-31")},
new Users {UserID = 3, UserName = "Batman", UserEmail = "[email protected]"
, Birthday= Convert.ToDateTime("1991-05-31")}
};
/// <summary>
/// 得到列表对象
/// </summary>
/// <returns></returns>
[Route("rest")]
public HttpResponseMessage Get()
{
return Request.CreateResponse(HttpStatusCode.OK, _userList);
}
/// <summary>
/// 得到一个实体,根据主键
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[Route("rest/{id}")]
public HttpResponseMessage Get(int id)
{
var user = _userList.FirstOrDefault(i => i.UserID == id);
return Request.CreateResponse(HttpStatusCode.OK, user);
}
/// <summary>
/// 验证
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
[HttpGet]
[Route("rest/exists/{name}")]
public HttpResponseMessage Exists(string name)
{
ApiResultModel result = new ApiResultModel();
result.return_code = HttpStatusCode.OK;
result.return_msg = "请求成功";
result.success = true;
result.data = (_userList.FirstOrDefault(i => i.UserName == name) != null);
return Request.CreateResponse(HttpStatusCode.OK, result);
}
/// <summary>
/// 添加
/// </summary>
/// <param name="form">表单对象,它是唯一的</param>
/// <returns></returns>
[Route("rest")]
public HttpResponseMessage Post([FromBody] Users entity)
{
_userList.Add(entity);
return Request.CreateResponse(HttpStatusCode.OK, entity);
}
/// <summary>
/// 更新
/// </summary>
/// <param name="id">主键</param>
/// <param name="form">表单对象,它是唯一的</param>
/// <returns></returns>
[Route("rest")]
public HttpResponseMessage Put(int id, [FromBody]Users entity)
{
ApiResultModel result = new ApiResultModel();
var user = _userList.FirstOrDefault(i => i.UserID == id);
if (user != null)
{
user.UserName = entity.UserName;
user.UserEmail = entity.UserEmail;
result.success = true;
result.return_code = HttpStatusCode.OK;
result.return_msg = "请求成功";
result.data = user;
return Request.CreateResponse(HttpStatusCode.OK, result);
}
else
{
result.success = false;
result.return_code = HttpStatusCode.BadRequest;
result.return_msg = "无效参数";
return Request.CreateResponse(HttpStatusCode.BadRequest, result);
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="id">主键</param>
/// <returns></returns>
[Route("rest/{id}")]
public HttpResponseMessage Delete(int id)
{
_userList.Remove(_userList.FirstOrDefault(i => i.UserID == id));
return Request.CreateResponse(HttpStatusCode.OK, _userList);
}
}
public class Users
{
public int UserID { get; set; }
public string UserName { get; set; }
public string UserEmail { get; set; }
public DateTime Birthday { get; set; }
}
public class ApiResultModel
{
/// <summary>
/// 是否成功
/// </summary>
public bool success { get; set; }
/// <summary>
/// 状态代码
/// </summary>
public HttpStatusCode return_code { get; set; }
/// <summary>
/// 错误消息
/// </summary>
public string return_msg { get; set; }
/// <summary>
/// 返回的数据
/// </summary>
public object data { get; set; }
}
/// <summary>
/// 分页集合
/// </summary>
public class PagerData
{
/// <summary>
/// 返回记录的总数
/// </summary>
public int RecordCount { get; set; }
/// <summary>
/// 返回分页的总数
/// </summary>
public int PageCount { get; set; }
/// <summary>
/// 列表集合
/// </summary>
public object PageData { get; set; }
}
}
html+ajax
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<fieldset>
<legend>
测试Web Api - /app/v1/rest/
</legend>
<a href="javascript:add()">添加(post)</a>
<a href="javascript:update(1)">更新(put)</a>
<a href="javascript:deletes(1)">删除(delete)</a>
<a href="javascript:get('')">列表(Get)</a>
<a href="javascript:get(1)">实体(Get)</a>
<a href="javascript:exists('Batman')">验证(Get)</a>
</fieldset>
<script>
//验证
function exists(name) {
$.ajax({
url: "/app/v1/rest/exists/" + name,
type: "GET",
data: {},
success: function (data) {
alert(JSON.stringify(data));
}
});
}
//列表
function get(id) {
$.ajax({
url: "/app/v1/rest/" + id,
type: "GET",
data: {},
success: function (data) {
alert(JSON.stringify(data));
}
});
}
//添加
function add() {
$.ajax({
url: "/app/v1/rest/",
type: "POST",
data: { "UserID": 4, "UserName": "test", "UserEmail": "[email protected]" },
success: function (data) { alert(JSON.stringify(data)); }
});
}
//更新
function update(id) {
$.ajax({
url: "/app/v1/rest?id=" + id,
type: "Put",
data: { "UserID": 1, "UserName": "moditest", "UserEmail": "[email protected]" },
success: function (data) { alert(JSON.stringify(data)); }
});
}
//删除
function deletes(id) {
$.ajax({
url: "/app/v1/rest/" + id,
type: "DELETE",
success: function (data) { alert(JSON.stringify(data)); }
});
}
</script>