ASP.NET Core'da CRUD eylemleri
Pizza hizmetimiz, bir pizza listesi için CRUD işlemlerini destekler. Bu işlemler, ASP.NET Core öznitelikleri aracılığıyla eşlenen HTTP fiilleri aracılığıyla gerçekleştirilir. Gördüğünüz gibi, HTTP GET
fiili bir hizmetten bir veya daha fazla öğeyi almak için kullanılır. Böyle bir eylem [HttpGet]
özniteliğiyle açıklanır.
Aşağıdaki tabloda pizza hizmeti için uyguladığınız dört işlemin eşlemesi gösterilmektedir:
HTTP eylem fiili | CRUD işlemi | ASP.NET Core özniteliği |
---|---|---|
GET |
Okundu | [HttpGet] |
POST |
Oluştur | [HttpPost] |
PUT |
Güncelleş | [HttpPut] |
DELETE |
Silme | [HttpDelete] |
Eylemlerin nasıl GET
çalıştığını zaten gördünüz. , PUT
ve DELETE
eylemleri hakkında POST
daha fazla bilgi edinelim.
POST
Kullanıcıların uç noktaya yeni bir öğe eklemesini sağlamak için özniteliğini POST
[HttpPost]
kullanarak eylemi uygulamanız gerekir. Öğeyi (bu örnekte, pizza) yönteme parametre olarak geçirdiğinizde ASP.NET Core uç noktaya gönderilen tüm uygulamaları/JSON'ları otomatik olarak doldurulmuş bir .NET Pizza
nesnesine dönüştürür.
Sonraki bölümde uygulayabileceğiniz yöntemin yöntem imzası Create
aşağıdadır:
[HttpPost]
public IActionResult Create(Pizza pizza)
{
// This code will save the pizza and return a result
}
özniteliği yöntemi [HttpPost]
kullanılarak gönderilen http://localhost:5000/pizza
HTTP POST
isteklerini eşlerCreate()
. Yönteminde Get()
gördüğümüz gibi pizza listesini döndürmek yerine bu yöntem bir IActionResult
yanıt döndürür.
IActionResult
istemciye isteğin başarılı olup olmadığını bildirir ve yeni oluşturulan pizzanın kimliğini sağlar. IActionResult
standart HTTP durum kodları kullandığından, üzerinde çalıştıkları dilden veya platformdan bağımsız olarak istemcilerle kolayca tümleşebilir.
ASP.NET Core eylem sonucu |
HTTP durum kodu | Açıklama |
---|---|---|
CreatedAtAction |
201 | Pizza bellek içi önbelleğe eklendi. Pizza, HTTP isteği üst bilgisinde (varsayılan olarak JSON) tanımlandığı gibi medya türündeki yanıt gövdesine accept dahil edilir. |
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şturan yardımcı program yöntemlerine sahiptir. Sonraki alıştırmada bu yöntemlerin nasıl çalıştığını göreceksiniz.
PUT
Envanterimizdeki bir pizzayı değiştirmek veya güncelleştirmek, uyguladığınız POST yöntemine benzer, ancak özniteliğini kullanır [HttpPut]
ve güncelleştirilmesi gereken nesneye Pizza
ek olarak parametresini alırid
:
[HttpPut("{id}")]
public IActionResult Update(int id, Pizza pizza)
{
// This code will update the pizza and return a result
}
Önceki eylemde kullanılan her ActionResult
örnek, aşağıdaki tabloda 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. |
SİL
Uygulanması daha kolay eylemlerden biri, pizzanın bellek içi önbellekten kaldırmak için yalnızca id
parametresini alan eylemdirDELETE
:
[HttpDelete("{id}")]
public IActionResult Delete(int id)
{
// This code will delete the pizza and return a result
}
Önceki eylemde kullanılan her ActionResult
örnek, aşağıdaki tabloda 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 | Sağlanan id parametreyle eşleşen bir pizza bellek içi önbellekte yok. |
Sonraki ünitedeki alıştırmada, web API'sindeki dört eylemin her birinin nasıl destek sürülecekleri gösterilmektedir.