Sobes.tech
Middle

Care sunt diferențele dintre metodele HTTP de bază GET, POST, PUT, PATCH, DELETE?

sobes.tech AI

Răspuns de la AI

HTTP методы определяют тип операции, которую клиент хочет выполнить на сервере:

  • GET — запрашивает данные с сервера. Не изменяет состояние, идемпотентен и безопасен. Используется для получения информации.
  • POST — отправляет данные на сервер для создания нового ресурса или выполнения операции. Не идемпотентен, может изменять состояние.
  • PUT — заменяет существующий ресурс или создает его, если не существует. Идемпотентен, т.е. повторные запросы с одинаковыми данными дают тот же результат.
  • PATCH — частично обновляет ресурс, изменяя только указанные поля. Не обязательно идемпотентен, зависит от реализации.
  • DELETE — удаляет ресурс. Идемпотентен, повторное удаление того же ресурса не меняет результат.

Пример на C# с использованием HttpClient:

var client = new HttpClient();

// GET
var response = await client.GetAsync("https://api.example.com/items/1");

// POST
var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
response = await client.PostAsync("https://api.example.com/items", content);

// PUT
response = await client.PutAsync("https://api.example.com/items/1", content);

// PATCH (через HttpMethod)
var method = new HttpMethod("PATCH");
var request = new HttpRequestMessage(method, "https://api.example.com/items/1") { Content = content };
response = await client.SendAsync(request);

// DELETE
response = await client.DeleteAsync("https://api.example.com/items/1");