Метод PATCH - это один из 9 широко используемых методов запроса Hypertext Transfer Protocol (HTTP) для частичного изменения существующего ресурса.
Чтобы отправить запрос PATCH с помощью Curl, вам нужно
- указать Curl на отправку запроса PATCH, указав параметр командной строки -X PATCH,
- передать данные PATCH с помощью параметра командной строки -d и
- указать правильный HTTP-заголовок ContentType с помощью параметра командной строки -H.
Параметр командной строки -X PATCH указывает Curl на использование метода HTTP PATCH вместо POST. Параметр командной строки -H 'Content-Type: application/json' указывает Curl отправить HTTP-заголовок на сервер, указывающий на тип данных в теле PATCH-сообщения. В этом примере запроса PATCH от Curl мы отправляем запрос PATCH на адрес example.com, используя параметр командной строки -X.
1 2 3 4 | curl -X PATCH https://example.com/echo/patch/json -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{"Id": 78912, "Customer": "Jason Sweet", "Quantity": 1}' |
Что такое Curl?
Curl - это утилита командной строки для передачи данных на удаленный сервер или с него. Он используется для тестирования API, отправки файлов на сервер и просмотра заголовков ответов сервера. Curl поддерживает более 25 протоколов, включая HTTP, HTTPS, FTP, FTPS и SFTP, имеет встроенную поддержку SSL-сертификатов, HTTP Cookies и многое другое.
Что такое HTTP PATCH?
Метод PATCH - это один из 9 широко используемых методов запроса Hypertext Transfer Protocol (HTTP) для частичного изменения существующего ресурса. Метод PATCH отправляет объект, содержащий частичные данные и правила применения этих данных к существующему ресурсу, идентифицированному по его URI. Для запроса PATCH нам не нужно предоставлять все данные. Мы отправляем только те данные, которые хотим обновить. Основное отличие от метода HTTP PUT заключается в том, что метод HTTP PATCH частично заменяет ресурс, а метод HTTP PUT - полностью. PATCH в некоторой степени похож на концепцию "обновления" в CRUD.
Синтаксис запроса PATCH в Curl
Общая форма команды Curl для отправки запроса PATCH выглядит следующим образом:
1 2 3 | curl -X PATCH [URL] -H [header] -d [patch_data] |
Как отправить PATCH-запрос с помощью Curl?
Чтобы отправить PATCH-запрос с помощью Curl, необходимо использовать параметр командной строки -X, указать метод PATCH и передать тип данных в теле запроса.
1 2 3 | curl -X PATCH https://example.com/echo/patch/json -H 'Content-Type: application/json' -d '{"User": "Leo", "Id": 1}' |
Примеры запросов PATCH в Curl
Ниже приведены примеры отправки PATCH-запросов:
Пример базового PATCH-запроса
Ниже приведен базовый пример отправки PATCH-запроса на адрес example.com:
1 2 3 | curl -X PATCH https://example.com/echo/patch/json -H 'Content-Type: [content type]' -d '[patch data]' |
Отправка JSON-данных с помощью запроса PATCH
Чтобы отправить JSON с помощью Curl, вы должны передать JSON-данные с помощью параметра командной строки -d и указать правильный MIME-тип данных в теле запроса с помощью параметра командной строки -H 'Content-Type: application/json'. Ниже приведен пример отправки JSON-данных методом запроса PATCH с помощью Curl:
1 2 3 | curl -X PATCH https://example.com/echo/patch/json -H "Content-Type: application/json" -d '{"Id": 12345, "Price": 25}' |
Отправка XML-данных с помощью запроса PATCH
Чтобы отправить XML с помощью Curl, передайте XML-данные с помощью параметра командной строки -d и укажите правильный MIME-тип данных в теле запроса с помощью параметра командной строки -H 'Content-Type: application/xml'. Ниже приведен пример отправки XML-данных методом запроса PATCH с помощью Curl:
1 2 3 4 5 6 7 | curl -X PATCH https://example.com/echo/patch/xml -H "Content-Type: application/xml" -d '<Order> <Id>14</Id> <Customer>UpdatedJason</Customer> <Price>35.00</Price> </Order>' |
Отправка обычного текста с помощью запроса PATCH
Ниже приведен пример отправки обычного текста с помощью метода запроса PATCH с использованием Curl:
1 2 3 | curl -X PATCH https://example.com -H "Content-Type: text/plain" -d 'some text' |
Отправка файла с помощью PATCH-запросов
Ниже приведен пример отправки данных из файла в теле запроса CURL PATCH:
1 2 3 | curl -X PATCH https://example.com/echo/patch -H "Content-Type: application/json" -d @data.json |