Nola erabili CURL API eskaerak bidaltzeko

Artikulu honetan, curl nola erabili eztabaidatuko dugu RESTful APIekin elkarreragiteko. curl komando-lerroko erabilgarritasuna da, API bati eskaerak bidaltzeko erabil daitekeena.

API eskaerak lau zati desberdinez osatuta daude:

  • Amaiera. Hau da eskaerak bidaltzen dizkiogun URLa.
  • HTTP metodoa. Egin nahi dugun ekintza. Metodo ohikoenak GET dira POST PUT DELETE eta PATCH
  • Goiburuak. Gure eskaerarekin batera bidali nahi ditugun goiburuak, adibidez. baimenaren goiburua.
  • Gorputza. APIra bidali nahi ditugun datuak.


kiribildu Sintaxia

curl Sintaxia komandoa hau da:


curl [options] [URL...]

Mezu honetan landuko ditugun aukerak hauek dira:

  • -X edo --request - Erabiliko den HTTP metodoa
  • -i edo --include - Sartu erantzunen goiburuak
  • -d edo --data - APIari bidali beharreko datuak
  • -H edo --header - Bidali beharreko goiburu osagarriak


HTTP LORTU

GET metodoa erabiltzen da eskuratu zerbitzari bateko baliabide bat. curl N, GET metodoa metodo lehenetsia da, beraz, ez dugu zehaztu beharrik.


Adibidez:

curl https://jsonplaceholder.typicode.com/posts

LORTU Kontsulta Parametroekin

curl Rekin batera kontsulta parametroak ere bidal ditzakegu Lortu eskaera.

Adibidez:

curl https://jsonplaceholder.typicode.com/posts?userId=5

HTTP POST

POST metodoa erabiltzen da sortu zerbitzarian baliabide bat.


curl Bidaltzeko POST eskaera -X POST aukera erabiltzen dugu.

POST formularioaren datuak

Adibidez:

curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts

Berez, curl erabilerak Content-Type: application/x-www-form-urlencoded Content-Type gisa goiburua, beraz, ez dugu zehaztu behar inprimakiaren datuak bidaltzerakoan.

POST JSON

JSON bat bidaltzeko curl Content-Type zehaztu behar dugu application/json gisa.


Adibidez:

curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts


HTTP JARRI

PUT metodoa erabiltzen da eguneratzea edo ordezkatu zerbitzarian baliabide bat. Zehaztutako baliabidearen datu guztiak hornitutako eskaera datuekin ordezkatzen ditu.

Ohar:PUT eskaera egiteko, datu guztiak eskaeraren organoan eman behar ditugu.

curl Bidaltzeko PUT eskaera -X PUT aukera erabiltzen dugu.

Adibidez:


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

Goiko PUT eskaerak aurretik sortutako mezua 'Mezuaren izenburu berria' eta 'Mezuaren gorputz berria' ordeztuko ditu.



HTTP PATCH

PATCH metodoa egiteko erabiltzen da eguneratze partzialak zerbitzarian dagoen baliabidera.

Ohar:PATCH eskaera egiteko, ez dugu datu guztiak eman beharrik. Eguneratu nahi ditugun datuak soilik bidaltzen ditugu.

curl Bidaltzeko PATCH eskaera -X PATCH aukera erabiltzen dugu.

Adibidez:


curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5

Ohartu nola gorputza 'Eguneratutako mezu edukia' soilik bidaltzen ari garen eguneratze partziala egiten ari garela.



HTTP EZABATU

DELETE metodoa zehaztutako baliabidea zerbitzaritik kentzeko erabiltzen da.

curl Bidaltzeko EZABATU eskaera -X DELETE aukera erabiltzen dugu.

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5 Ohar:DELETE metodoak ez du gorputzik.

Autentifikazioa

Batzuetan APIaren amaierako puntu batek sarbide mugatua du eta autentifikatutako eta baimendutako erabiltzaileei soilik emango die eskaerak. Eskaera hauetarako, sarbide token bat eman behar dugu eskaeraren goiburuan.

curl Bidaltzeko goiburua, honakoa erabiltzen dugu: -H aukera.

Ondorengo eskaerak POST eskaera eramaten du goiburuko token batekin:

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!' }'

Ondorioa

Mezu honetan HTTP eskaerak (GET, POST, PUT, PATCH eta DELETE) nola bidali curl komandoak erabiliz API batera nola ikasi genuen ikasi genuen.