Middle
DELETE əməliyyatı idempotentdirmi?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, doğrudur. Eyni URI ilə çoxsaylı DELETE əməliyyatının icrası, resursun son vəziyyətinə — onun olmamasına gətirib çıxaracaq. İlk sorğuda resurs silinəcək. Növbəti sorğularda resurs artıq mövcud olmayacaq, lakin nəticə (resursun olmaması) eyni qalacaq.
// HttpClient istifadə edərək idempotent DELETE əməliyyatının nümunəsi
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}");
// Hətta resurs artıq silinmiş olsa (məsələn, 404 Not Found qaytarırsa),
// son nəticə (resursun olmaması) eyni olacaq.
response.EnsureSuccessStatusCode(); // Uğursuz statuslar üçün istisna ata bilər (2xx xaricində)
// Idempotentliyi yoxlamaq üçün statuslar daha elastik şəkildə idarə oluna bilər.
}
}