Sobes.tech
Назад к вопросам
Middle
5

Базовые HTTP методы GET, POST, PUT, PATCH, DELETE — чем отличаются?

Компании, где спрашивали
СБК ПАРУС

Ответ от нейросети

sobes.tech 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");