它的基类是 ApiController,它是 WEB API 的核心。
ApiController 负责协调 WEB API 对象模型中各种不同的类,在 HTTP 请求的处理中执行一些关键的任务:
- 选择和运行控制器类上的一个操作 action
- 将 HTTP 请求消息的各元素转成控制器操作方法的参数,并将操作方法返回值转换为有效的 HTTP 响应正文
- 运行各种筛选器,这些筛选器可以是为操作 action 或者 controller 专门配置,也可以是全局的
- 为控制器类的操作方法提供适当的上下文
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody]string value)
{
}
// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
}Code language: HTML, XML (xml)
发送 /api/values 的 HTTP GET 请求会触发控制器的无参 Get 方法。
ASP.NET WEB API 可以根据 HTTP 方法来选择操作 Action。另外,还可以通过查询字符串参数来进行选择,然后进行参数绑定。
Previous: 03-两个核心文件WebApiConfig 和ValuesController
Next: 05-第一个Hello API程序