ASP.NET Core CRUD eylemleri

Tamamlandı

Pizza hizmetimiz, Pizzas listesi için C oluştur, R EAD, U PDATE, D Sil (CRUD) işlemlerini destekler. bu işlemler, ASP.NET Core öznitelikleri kullanılarak eşlenen HTTP eylem fiilleri kullanılarak gerçekleştirilir. Gördüğünüz gibi, bir hizmetten bir veya daha fazla öğe almak için HTTP GET ACTION fiili kullanılır. Böyle bir eylem [HttpGet] özniteliğiyle açıklanır.

Aşağıdaki tabloda, pizza hizmetimiz için uygulamadığımız dört işlemin eşleştirmesi gösterilmektedir:

HTTP eylem fiili CRUD işlemi ASP.NET Core özniteliği
GET Okuma [HttpGet]
POST Oluşturma [HttpPost]
PUT Güncelleştirme [HttpPut]
DELETE Silme [HttpDelete]

ALMA eylemlerinin nasıl çalıştığını zaten gördünüz. Şimdi gönderme, YERLEŞTIRME ve SILME eylemleri hakkında daha fazla bilgi edinin.

POST

Uç noktanın, kullanıcıların yeni bir öğe ekleyebilmesini sağlamak için, [HttpPost] öğesini kullanarak POST eylemini uygulamamız gerekir. öğeyi (bu örnekte, bir pizza) parametre olarak yöntemine geçirerek ASP.NET Core, uç noktaya gönderilen herhangi bir uygulamayı/json öğesini doldurulmuş bir .net pizza nesnesine dönüştürür.

Bir Create sonraki bölümde kullanacağınız yöntemin yöntem imzası aşağıda verilmiştir:

[HttpPost]
public IActionResult Create(Pizza pizza)
{            
    // This code will save the pizza and return a result
}

[HttpPost]Özniteliği, metoduna GÖNDERILEN http post isteklerini eşler http://localhost:5000/pizza Create() . Bu yöntem, bir Pizzas listesini döndürmek yerine Get() bir yanıt döndürür, bu da IActionResult istemcinin isteğin başarılı olup olmadığını ve yeni oluşturulan PIZZA kimliğini bilmesini sağlar. Bu, standart HTTP durum kodları kullanılarak yapılır, bu nedenle üzerinde çalıştıkları dil veya platformdan bağımsız olarak istemcilerle kolayca tümleşecek.

ASP.NET Core
eylem sonucu
HTTP durum kodu Açıklama
CreatedAtAction 201 Pizza, bellek içi önbelleğe eklendi.
Pizza, http istek üstbilgisinde tanımlandığı şekilde medya türündeki yanıt gövdesine dahildir accept (varsayılan olarak JSON).
BadRequest belirtiliyor 400 İstek gövdesindeki pizza nesnesi geçersizdir.

Neyse ki, ControllerBase sizin için uygun http yanıt kodlarını ve iletilerini oluşturacak yardımcı program yöntemlerine sahiptir. Bu, bir sonraki alıştırmada nasıl çalıştığını göreceksiniz.

PUT

Stoklarımızda bir pizza değiştirmek veya güncelleştirmek, uyguladığımız POST yöntemine benzerdir, ancak [HttpPut] özniteliğini kullanır ve güncelleştirilmesi gereken pizza nesnesine ek olarak kimliği alır.

[HttpPut("{id}")]
public IActionResult Update(int id, Pizza pizza)
{
    // This code will update the pizza and return a result
}

Yukarıdaki eylemde kullanılan her ActionResult aşağıdaki tabloda buna karşılık gelen HTTP durum koduyla eşlenir.

ASP.NET Core
eylem sonucu
HTTP durum kodu Açıklama
NoContent 204 Pizza, bellek içi önbellekte güncelleştirildi.
BadRequest 400 İstek gövdesindeki Id değeri yolun id değeriyle eşleşmiyor.
BadRequest belirtiliyor 400 İstek gövdesindeki Pizza nesnesi geçersizdir.

DELETE

Uygulanacak daha kolay eylemlerden biri, bellek içi önbellekten kaldırmak için yalnızca pizza 'nin kimliğini alan SILME eyleğidir.

[HttpDelete("{id}")]
public IActionResult Delete(int id)
{
    // This code will delete the pizza and return a result
}

Yukarıdaki eylemde kullanılan her ActionResult aşağıdaki tabloda buna karşılık gelen HTTP durum koduyla eşlenir.

ASP.NET Core
eylem sonucu
HTTP durum kodu Açıklama
NoContent 204 Pizza, bellek içi önbellekten silindi.
NotFound 404 Girilen parametre ile eşleşen bir pizza id , bellekte yer almıyor.

Aşağıdaki bölümlerde, web API'sinde bu dört eylemin nasıl desteklendiği gösterilir.

Bilgilerinizi kontrol edin

1.

Bir ürünün adını güncelleştirmeniz gerektiğini düşünün. Bu isteğe en uygun HTTP eylem filli hangisidir?

2.

HTTP 404 durum kodu döndürmenin en uygun olduğu senaryo hangisidir ve bu ASP.NET Core'da nasıl yapılır?