Bu yazıda curl
istifadə qaydalarını müzakirə edəcəyik RESTful API ilə qarşılıqlı əlaqə qurmaq. curl
bir API-yə sorğu göndərmək üçün istifadə edilə bilən bir əmr satırı yardım proqramıdır.
API istəkləri dörd fərqli hissədən ibarətdir:
GET
POST
PUT
DELETE
və PATCH
curl
Üçün sintaksis əmr:
curl [options] [URL...]
Bu yazıda nəzərdən keçirəcəyimiz seçimlər bunlardır:
-X
və ya --request
- istifadə ediləcək HTTP metodu-i
və ya --include
- Cavab başlıqlarını daxil edin-d
və ya --data
- API-yə göndəriləcək məlumatlar-H
və ya --header
- Göndəriləcək əlavə başlıqlarGET metodu istifadə olunur gətir bir serverdən bir qaynaq. curl
İçində GET metodu standart metoddur, buna görə onu göstərməyə ehtiyac yoxdur.
Misal:
curl https://jsonplaceholder.typicode.com/posts
Sorğu parametrlərini curl
ilə birlikdə göndərə bilərik Xahişi alın.
Misal:
curl https://jsonplaceholder.typicode.com/posts?userId=5
POST metodu istifadə olunur yaratmaq serverdəki bir qaynaq.
Bir curl
göndərmək üçün POST istəyi -X POST
seçimini istifadə edirik.
Misal:
curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts
Varsayılan olaraq, curl
istifadə edir Content-Type: application/x-www-form-urlencoded
kimi Content-Type
başlıq, buna görə forma məlumatlarını göndərərkən onu göstərməyə ehtiyac yoxdur.
Bir JSON göndərmək üçün curl
Content-Type
yazmalıyıq kimi application/json
.
Misal:
curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts
PUT metodu istifadə olunur yeniləmə və ya dəyişdirin serverdəki bir qaynaq. Göstərilən mənbənin bütün məlumatlarını təmin edilmiş tələb məlumatları ilə əvəz edir.
Qeyd:Bir PUT tələbi üçün, istək gövdəsindəki bütün məlumatları təqdim etməliyik.Bir curl
göndərmək üçün PUT istəyi -X PUT
seçimini istifadə edirik.
Misal:
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
Yuxarıdakı PUT tələbi əvvəllər yaratdığımız postu “Yeni yazı başlığı” və “Yeni yazı gövdəsi” ilə əvəz edəcəkdir.
PATCH metodundan istifadə etmək üçün istifadə olunur qismən yeniləmələr serverdəki mənbəyə.
Qeyd:Yamaq istəyi üçün bütün məlumatları vermək məcburiyyətində deyilik. Yalnız yenilənməsini istədiyimiz məlumatları göndəririk.Bir curl
göndərmək üçün PATCH istəyi -X PATCH
seçimini istifadə edirik.
Misal:
curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Bədəni yalnız 'Yenilənmiş yazı məzmunu' ilə necə göndərdiyimizə diqqət yetirin, çünki qismən bir yeniləmə edirik.
DELETE metodu göstərilən mənbəni serverdən çıxarmaq üçün istifadə olunur.
Bir curl
göndərmək üçün Sil tələbi -X DELETE
seçimini istifadə edirik.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Qeyd:DELETE metodunun gövdəsi yoxdur.Bəzən bir API son nöqtəsi girişi məhdudlaşdırır və yalnız təsdiq edilmiş və səlahiyyətli istifadəçilərə sorğu verəcəkdir. Bu istəklər üçün sorğunun başlığında bir giriş işarəsi təqdim etməliyik.
Bir curl
göndərmək üçün başlıq, istifadə edirik: -H
seçim.
Aşağıdakı sorğu başlıqdakı daşıyıcı işarəsi ilə POST sorğusu göndərir:
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!' }'
Bu yazıda HTTP istəklərinin (GET, POST, PUT, PATCH və DELETE) curl əmrlərindən istifadə edərək bir API-yə necə göndəriləcəyini öyrəndik.