1.新建项目
2.选择WebApi,并使用空模板(这里不想要一些其他的mvc的东西)
3.新建一个model
4.写几个属性
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace APITest.Models
{
public class Test
{
public int id { set; get; }
public string name { set; get; }
}
}
5.新增控制器
这里也用了空的控制器,避免多余代码干扰,其实后期可以写CodeSmith模板生成。
6.添加代码
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
using WebApplication3.Models;
namespace WebApplication3.Controllers
{
public class TestController : ApiController
{
Test[] products = new Test[]
{
new Test { id = 1, name = "Tomato Soup"},
new Test { id = 2, name = "Yo-yo" },
new Test { id = 3, name = "Hammer" }
};
public IEnumerable<Test> GetAllProducts()
{
return products;
}
public IHttpActionResult GetProduct(int id)
{
var product = products.FirstOrDefault((p) => p.id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
[HttpPost]
public IHttpActionResult PostTest([FromBody]Test t)
{
var product = products.FirstOrDefault((p) => p.id == t.id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
}
}
7.运行页面
这里注意路由规则,api/控制器名称/id
8. 增加下面两句,返回JSON格式的
其实就是修改Config的Formatter,使用JsonMediaTypeFormatter就好了。
设置WebApiConfig.cs后:
1. Post调用
当然也可以直接从Form中取值。例如:$(“#SearchForm”).serialize(),