Middle
DELETE операциясы идемпотентпи?
sobes.tech AI
AIден жооп
Ооба, ошондой. Бир URI менен DELETE операциясын көп жолу аткаруу ошол эле ресурстун акыркы абалына — анын жоктугуна алып келет. Биринчи суроо боюнча ресурс өчүрүлөт. Кийинки суроолордо ресурс дагы деле жок болот, бирок натыйжа (ресурстун жоктугу) ошол бойдон калат.
// HttpClient колдонуу менен идемпотенттүү DELETE операциясынын мисалы
using System.Net.Http;
using System.Threading.Tasks;
public class ResourceServiceClient
{
private readonly HttpClient _httpClient;
public ResourceServiceClient(HttpClient httpClient)
{
_httpClient = httpClient;
}
public async Task DeleteResourceAsync(int resourceId)
{
var response = await _httpClient.DeleteAsync($"api/resources/{resourceId}");
// Эгер ресурстун алгачкы эле өчүрүлгөн болсо (мисалы, 404 Not Found кайтарат),
// акыркы натыйжа (ресурстун жоктугу) ошол бойдон калат.
response.EnsureSuccessStatusCode(); // 2xx эмес статустар үчүн исключение чыгара алат
// Идемпотенттикти текшерүү үчүн статустарды көбүрөөк ийкемдүү иштетсе болот.
}
}