Tässä artikkelissa keskustelemme curl
-sovelluksen käytöstä vuorovaikutuksessa RESTful-sovellusliittymien kanssa. curl
on komentorivin apuohjelma, jota voidaan käyttää pyyntöjen lähettämiseen API: lle.
API-pyynnöt koostuvat neljästä eri osasta:
GET
POST
PUT
DELETE
ja PATCH
curl
-Syntaksi komento on:
curl [options] [URL...]
Tässä viestissä käsittelemämme vaihtoehdot ovat:
-X
tai --request
- Käytettävä HTTP-menetelmä-i
tai --include
- Sisällytä vastausotsikot-d
tai --data
- API: lle lähetettävät tiedot-H
tai --header
- lähetettävät ylätunnisteetGET-menetelmää käytetään hae resurssi palvelimelta. Kohdassa curl
GET-menetelmä on oletusmenetelmä, joten sitä ei tarvitse määrittää.
Esimerkki:
curl https://jsonplaceholder.typicode.com/posts
Voimme myös lähettää kyselyparametreja curl
: n kanssa GET-pyyntö.
Esimerkki:
curl https://jsonplaceholder.typicode.com/posts?userId=5
POST-menetelmää käytetään luoda palvelimen resurssi.
Lähetä curl
POST-pyynnössä käytämme vaihtoehtoa -X POST
.
Esimerkki:
curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts
Oletuksena curl
käyttää Content-Type: application/x-www-form-urlencoded
kuten Content-Type
otsikkoa, joten sitä ei tarvitse määrittää, kun lähetämme lomaketietoja.
JSON: N POSTITTAMISEKSI curl
meidän on määritettävä Content-Type
nimellä application/json
.
Esimerkki:
curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts
PUT-menetelmää käytetään päivittää tai korvata palvelimen resurssi. Se korvaa kaikki määritetyn resurssin tiedot toimitetuilla pyyntötiedoilla.
merkintä:PUT-pyyntöä varten meidän on toimitettava kaikki tiedot pyynnön rungossa.Lähetä curl
PUT-pyynnössä käytämme vaihtoehtoa -X PUT
.
Esimerkki:
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
Yllä oleva PUT-pyyntö korvaa aiemmin luodun viestimme nimillä 'Uusi viestin otsikko' ja 'Uusi postin runko'.
Valmistamiseen käytetään PATCH-menetelmää osittaiset päivitykset palvelimen resurssille.
merkintä:PATCH-pyyntöä varten meidän ei tarvitse antaa kaikkia tietoja. Lähetämme vain tiedot, jotka haluamme päivittää.Lähetä curl
PATCH-pyyntö käytämme vaihtoehtoa -X PATCH
.
Esimerkki:
curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Huomaa, kuinka lähetämme tekstiosaa vain päivitetyllä postisisällöllä, kun teemme osittaista päivitystä.
DELETE-menetelmää käytetään määritetyn resurssin poistamiseen palvelimelta.
Lähetä curl
POISTA pyyntö käytämme vaihtoehtoa -X DELETE
.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
merkintä:DELETE-menetelmällä ei ole runkoa.Joskus API-päätepisteellä on rajoitettu pääsy ja se palvelee pyyntöjä vain todennetuille ja valtuutetuille käyttäjille. Näitä pyyntöjä varten meidän on annettava käyttöoikeustunnus pyynnön otsikossa.
Lähetä curl
otsikko, käytämme: -H
vaihtoehto.
Seuraava pyyntö lähettää POST-pyynnön siirtotunnuksella otsikossa:
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!' }'
Tässä viestissä opimme, kuinka lähetetään HTTP-pyynnöt (GET, POST, PUT, PATCH ja DELETE) API: lle käpristyskomennoilla.