Kaip naudoti CURL API užklausoms siųsti

Šiame straipsnyje aptarsime, kaip naudoti curl sąveikauti su RESTful API. curl yra komandinės eilutės įrankis, kurį galima naudoti užklausoms siųsti į API.

API užklausas sudaro keturios skirtingos dalys:

  • Galutinis taškas. Tai yra URL, į kurį siunčiame užklausas.
  • HTTP metodas. Veiksmas, kurį norime atlikti. Dažniausiai naudojami metodai GET POST PUT DELETE ir PATCH
  • Antraštės. Antraštės, kurias norime išsiųsti kartu su mūsų prašymu, pvz. prieigos teisių antraštė.
  • Kūnas. Duomenys, kuriuos norime siųsti api.


garbanos sintaksė

curl Sintaksė komanda yra:


curl [options] [URL...]

Šiame įraše aptarsime šias parinktis:

  • -X arba --request - Naudojamas HTTP metodas
  • -i arba --include - Įtraukite atsakymo antraštes
  • -d arba --data - duomenys, siunčiami į API
  • -H arba --header - visos siunčiamos papildomos antraštės


HTTP GAUTI

GET metodas yra naudojamas atnešti išteklius iš serverio. Naudojant curl GET metodas yra numatytasis metodas, todėl mums jo nereikia nurodyti.


Pavyzdys:



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

GAUTI su užklausos parametrais

Mes taip pat galime siųsti užklausos parametrus kartu su curl GAUTI užklausą.

Pavyzdys:

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

HTTP POST

POST metodas yra naudojamas sukurti šaltinis serveryje.


Norėdami išsiųsti curl POST užklausa mes naudojame parinktį -X POST.

POST formos duomenys

Pavyzdys:

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

Pagal numatytuosius nustatymus curl naudoja Content-Type: application/x-www-form-urlencoded kaip Content-Type antraštę, todėl mums nereikia jos nurodyti siunčiant formos duomenis.

PASKIRTI JSONĄ

ĮSTATYTI JSON curl turime nurodyti Content-Type kaip application/json.


Pavyzdys:

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


HTTP PUT

PUT metodas yra naudojamas atnaujinti arba pakeisti šaltinis serveryje. Jis pakeičia visus nurodyto ištekliaus duomenis pateiktais užklausos duomenimis.

Pastaba:Norėdami pateikti PUT užklausą, visus duomenis turime pateikti užklausos įstaigoje.

Norėdami išsiųsti curl PUT užklausa mes naudojame parinktį -X PUT.

Pavyzdys:


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

Pirmiau pateikta PUT užklausa pakeis mūsų anksčiau sukurtą įrašą „Naujo įrašo pavadinimas“ ir „Naujas pranešimo turinys“.



HTTP PATCH

Pagaminti naudojamas PATCH metodas daliniai atnaujinimai į serverio išteklius.

Pastaba:Norėdami gauti PATCH užklausą, mes neturime pateikti visų duomenų. Siunčiame tik tuos duomenis, kuriuos norime atnaujinti.

Norėdami išsiųsti curl PATCH užklausa mes naudojame parinktį -X PATCH.

Pavyzdys:


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

Atkreipkite dėmesį, kaip mes siunčiame tik kūną su „Atnaujintu pranešimų turiniu“, kai atliekame dalinį atnaujinimą.



HTTP IŠTRINTI

DELETE metodas naudojamas nurodytam ištekliui pašalinti iš serverio.

Norėdami išsiųsti curl Panaikinti užklausą mes naudojame parinktį -X DELETE.

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5 Pastaba:DELETE metodas neturi kūno.

Autentifikavimas

Kartais API pabaigos taškas turi ribotą prieigą ir pateiks užklausas tik patvirtintiems ir įgaliotiems vartotojams. Norėdami pateikti šias užklausas, prašymo antraštėje turime pateikti prieigos raktą.

Norėdami išsiųsti curl antraštę, mes naudojame: -H variantą.

Ši užklausa siunčia POST užklausą su nešiklio atpažinimo ženklu antraštėje:

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

Išvada

Šiame įraše mes sužinojome, kaip siųsti HTTP užklausas (GET, POST, PUT, PATCH ir DELETE) į API naudojant garbanojimo komandas.