В тази статия ще обсъдим как да използваме curl
за взаимодействие с RESTful API. curl
е помощна програма за команден ред, която може да се използва за изпращане на заявки към API.
Заявките за API се състоят от четири различни части:
GET
POST
PUT
DELETE
и PATCH
Синтаксисът на curl
командата е:
curl [options] [URL...]
Опциите, които ще разгледаме в тази публикация, са:
-X
или --request
- HTTP метод, който ще се използва-i
или --include
- Включете отговорите-d
или --data
- Данните, които трябва да бъдат изпратени до API-H
или --header
- Всички допълнителни заглавки, които трябва да бъдат изпратениМетодът GET се използва за донеси ресурс от сървър. В curl
методът GET е методът по подразбиране, така че не е необходимо да го указваме.
Пример:
curl https://jsonplaceholder.typicode.com/posts
Също така можем да изпращаме параметри на заявката заедно с curl
ВЗЕМЕТЕ заявка.
Пример:
curl https://jsonplaceholder.typicode.com/posts?userId=5
Методът POST се използва за създайте ресурс на сървъра.
За да изпратите curl
POST заявка използваме опцията -X POST
.
Пример:
curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts
По подразбиране, curl
използва Content-Type: application/x-www-form-urlencoded
като Content-Type
заглавка, така че не е необходимо да го посочваме при изпращане на данни от формуляра.
За да публикувате JSON от curl
трябва да посочим Content-Type
като application/json
.
Пример:
curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts
Методът PUT се използва за актуализиране или замени ресурс на сървъра. Той заменя всички данни от посочения ресурс с предоставените данни за заявка.
Забележка:За заявка за PUT трябва да предоставим всички данни в тялото на заявката.За да изпратите curl
PUT заявка използваме опцията -X PUT
.
Пример:
curl -X PUT -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'New Post Title', 'body': 'New post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Горната заявка PUT ще замени създадената ни по-рано публикация с „Заглавие на нова публикация“ и „Тяло на нова публикация“
За направата се използва методът PATCH частични актуализации към ресурса на сървъра.
Забележка:За заявка за PATCH не е необходимо да предоставяме всички данни. Изпращаме само данните, които искаме да бъдат актуализирани.За да изпратите curl
Заявка за PATCH използваме опцията -X PATCH
.
Пример:
curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Забележете как изпращаме тялото само с „Актуализирано съдържание на публикация“, тъй като правим частична актуализация.
Методът DELETE се използва за премахване на посочения ресурс от сървъра.
За да изпратите curl
ИЗТРИВАНЕ заявка използваме опцията -X DELETE
.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Забележка:Методът DELETE няма тяло.Понякога крайната точка на API има ограничен достъп и ще обслужва заявки само за удостоверени и упълномощени потребители. За тези заявки трябва да предоставим маркер за достъп в заглавката на заявката.
За да изпратите curl
заглавка, използваме: -H
опция.
Следващата заявка изпраща POST заявка с носител в заглавката:
curl -X POST https://some-web-url/api/v1/users -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Bearer {ACCESS_TOKEN}' -H 'cache-control: no-cache' -d '{ 'username' : 'myusername', 'email' : 'myusername@gmail.com', 'password' : 'Passw0rd123!' }'
В тази публикация научихме как да изпращаме HTTP заявки (GET, POST, PUT, PATCH и DELETE) до API с помощта на команди curl.