基于 Controller 的 Web API
ASP.NET Wep API 的请求架构
客户端发送Http请求,Contoller响应请求,并从数据库读取数据,序列化数据,然后通过 Http Response返回序列化的数据。
ControllerBase 类
Web API 的所有controllers 一般继承于 ControllerBase 类,而不是Controller 类。
因为 Controller 类也继承自ControllerBase 类,但是支持views,而API一般不需要这个功能。
ControllerBase 提供了很多处理Http Request 和 Response方法,比如返回201结果的CreatedAtAction(表示成功创建资源):
[HttpPost]
[ProducesResponseType(StatusCodes.Status201Created)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
public ActionResult<Pet> Create(Pet pet)
{
pet.Id = _petsInMemoryStore.Any() ?
_petsInMemoryStore.Max(p