了解ASP.NET Core WEB API中的 CRUD (create,Retrieve,update,delete) *** 作

了解ASP.NET Core WEB API中的 CRUD (create,Retrieve,update,delete) *** 作,第1张

我们的披萨服务支持对数据列表执行 CRUD *** 作。 这些 *** 作是通过 HTTP 谓词执行的,它们通过 ASP.NET Core 属性进行映射。 正如你所了解的,HTTP GET 谓词用于从服务检索一个或多个项。 此类 *** 作使用 [HttpGet] 属性进行批注。

下表显示了你为数据服务实现的四个 *** 作的映射:

HTTP *** 作谓词 CRUD *** 作 ASP.NET Core 属性
GET 读取 [HttpGet]
POST 创建 [HttpPost]
PUT 更新 [HttpPut]
DELETE 删除 [HttpDelete]

POST

为了使用户能够将新项添加到终结点,必须通过使用 [HttpPost] 属性来实现 POST *** 作。 将项(在此示例中是披萨)作为参数传递入方法时,ASP.NET Core 会自动将发送到终结点的任何应用程序/JSON 转换为填充的 .NET Pizza 对象。

以下是 Create 方法的方法签名:

[HttpPost]
public IActionResult Create(Pizza pizza)
{            
    // 此代码将保存数据并返回结果
}

[HttpPost] 属性将通过使用 Create() 方法映射发送到 http://localhost:5000/pizza 的 HTTP POST 请求。 此方法并不像我们在 Get() 方法中看到的那样返回数据列表,而是返回 IActionResult 响应。

IActionResult 可让客户端知道请求是否成功,并提供新创建的数据的 ID。 IActionResult 通过使用标准 HTTP 状态代码来完成该 *** 作,因此,无论客户端使用哪种语言或者在哪个平台上运行,它都能轻松地与客户端集成。

ASP.NET Core
*** 作结果 HTTP 状态代码 说明

CreatedAtAction 201 已将披萨添加到内存中缓存。
该披萨包含在由 accept HTTP 请求标头中所定义的媒体类型(默认情况下为 JSON)
的响应正文中。

BadRequest 为隐式 400 请求正文的 pizza 对象无效。

PUT

修改或更新库存中的披萨类似于你已实现的 POST 方法。 但除了需要更新的 Pizza 对象之外,它还使用 [HttpPut] 属性并采用 id 参数:

[HttpPut("{id}")]
public IActionResult Update(int id, Pizza pizza)
{
    // 此代码将更新数据并返回结果
}

上述 *** 作中使用的每个 ActionResult 实例都映射到下表中对应的 HTTP 状态代码:

ASP.NET Core
*** 作结果 HTTP 状态代码 说明
NoContent 204 已在内存中缓存中更新了披萨。
BadRequest 400 请求正文的 Id 值与路由的 id 值不匹配。
BadRequest 为隐式 400 请求正文的 Pizza 对象无效。

DELETE

可实现的一种更简单的 *** 作是 DELETE *** 作,该 *** 作只接受要从内存中缓存中删除的披萨的 id 参数:

[HttpDelete("{id}")]
public IActionResult Delete(int id)
{
    // 此代码将删除数据并返回结果
}

上述 *** 作中使用的每个 ActionResult 实例都映射到下表中对应的 HTTP 状态代码:

ASP.NET Core
*** 作结果 HTTP 状态代码 说明
NoContent 204 已从内存中缓存中删除了披萨。
NotFound 404 内存中缓存中不存在与所提供的 id 参数匹配的披萨。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/757342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-30
下一篇 2022-04-30

发表评论

登录后才能评论

评论列表(0条)

保存