Š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:
GET
POST
PUT
DELETE
ir PATCH
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ėsGET 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
Mes taip pat galime siųsti užklausos parametrus kartu su curl
GAUTI užklausą.
Pavyzdys:
curl https://jsonplaceholder.typicode.com/posts?userId=5
POST metodas yra naudojamas sukurti šaltinis serveryje.
Norėdami išsiųsti curl
POST užklausa mes naudojame parinktį -X POST
.
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.
Į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
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“.
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ą.
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.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!' }'
Šiame įraše mes sužinojome, kaip siųsti HTTP užklausas (GET, POST, PUT, PATCH ir DELETE) į API naudojant garbanojimo komandas.