首页 技术 正文
技术 2022年11月13日
0 收藏 876 点赞 3,173 浏览 2119 个字

最近学习了下WebApi,WebApi是RESTful风格,根据请求方式决定操作。以博客的形式写出来,加深印象以及方便以后查看和复习。

1、首先我们使用VS创建一个空的WebApi项目

Web APi入门之基本操作(一)

2、新建实体以及控制器类

     public class Product
{
public int Id { set; get; }
public string Name { set; get; }
public string Description { set; get; }
}
     public class HomeController : ApiController
{
static List<Product> modelList = new List<Product>()
{
new Product(){Id=,Name="电脑",Description="电器"},
new Product(){Id=,Name="冰箱",Description="电器"},
}; //获取所有数据
[HttpGet]
public List<Product> GetAll()
{
return modelList;
} //获取一条数据
[HttpGet]
public Product GetOne(int id)
{
return modelList.FirstOrDefault(p => p.Id == id);
} //新增
[HttpPost]
public bool PostNew(Product model)
{
modelList.Add(model);
return true;
} //删除
[HttpDelete]
public bool Delete(int id)
{
return modelList.Remove(modelList.Find(p => p.Id == id));
} //更新
[HttpPut]
public bool PutOne(Product model)
{
Product editModel = modelList.Find(p => p.Id == model.Id);
editModel.Name = model.Name;
editModel.Description = model.Description;
return true;
}
}

3、新建html页面使用ajax操作

 <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Demo</title>
<script src="/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function () {
add();
update();
find();
remove();
getAll();
});
function getAll() {
$.ajax({
url: "api/Home/",
type: 'GET',
success: function (data) {
console.log(data);
}
});
} function find() {
$.ajax({
url: "api/Home/1",
type: 'GET',
success: function (data) {
console.log(data);
}
});
} function add() {
$.ajax({
url: "api/Home/",
type: "POST",
data: { "Id": "3", "Name": "电磁炉", "Description": "电器" },
success: function (data) {
console.log(data);
}
}); } function update() {
$.ajax({
url: "api/Home/",
type: 'PUT',
data: { "id": "1", "Name": "洗衣机", "Description": "家具" },
success: function (data) {
console.log(data);
}
});
} function remove() {
$.ajax({
url: "api/Home/1",
type: 'DELETE',
success: function (data) {
console.log(data);
}
});
}
</script>
</head>
<body>
<h1>WebApi基本操作</h1>
</body>
</html>

4、通过开发人员工具可以看到如下

Web APi入门之基本操作(一)

Web APi入门之基本操作(一)

WebApi默认是以XML格式返回,但是一般我们需要返回Json,通过在Global.asax里的Application_Start方法中加上如下代码可以移除XML,让其只返回Json

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

有一个需要注意的是,如果在参数写的是实体类,那么需要加上相应的特性(post、put请求不需要),如下

         [HttpGet]
public User Get([FromUri]User user)
{
return user;
}
上一篇: c++ primer 5 表达式
下一篇: linux忘记密码
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,993
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,507
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,350
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,135
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,768
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,845