I denne artikel skal vi diskutere, hvordan man bruger curl
at interagere med RESTful API'er. curl
er et kommandolinjeværktøj, der kan bruges til at sende anmodninger til en API.
API-anmodninger består af fire forskellige dele:
GET
POST
PUT
DELETE
og PATCH
Syntaksen for curl
kommando er:
curl [options] [URL...]
De muligheder, vi vil dække i dette indlæg, er:
-X
eller --request
- HTTP-metode, der skal bruges-i
eller --include
- Inkluder svaroverskrifterne-d
eller --data
- De data, der skal sendes til API'en-H
eller --header
- Eventuelle yderligere overskrifter, der skal sendesGET-metoden bruges til hente en ressource fra en server. I curl
er GET-metoden standardmetoden, så vi behøver ikke at specificere den.
Eksempel:
curl https://jsonplaceholder.typicode.com/posts
Vi kan også sende forespørgselsparametre sammen med curl
FÅ anmodning.
Eksempel:
curl https://jsonplaceholder.typicode.com/posts?userId=5
POST-metoden bruges til skab en ressource på serveren.
For at sende et curl
POST-anmodning bruger vi muligheden -X POST
.
Eksempel:
curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts
Som standard curl
bruger Content-Type: application/x-www-form-urlencoded
som Content-Type
header, så vi behøver ikke at specificere det, når vi sender formulardata.
For at POSTE en JSON af curl
vi skal specificere Content-Type
som application/json
.
Eksempel:
curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts
PUT-metoden bruges til opdatering eller erstatte en ressource på serveren. Det erstatter alle data for den angivne ressource med de leverede anmodningsdata.
Bemærk:For en PUT-anmodning skal vi levere alle data i anmodningsorganet.For at sende et curl
PUT-anmodning bruger vi indstillingen -X PUT
.
Eksempel:
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
Ovenstående PUT-anmodning erstatter vores tidligere oprettede indlæg med “Ny posttitel” og “Ny posttekst”.
PATCH-metoden bruges til at fremstille delvise opdateringer til ressourcen på serveren.
Bemærk:For en PATCH-anmodning behøver vi ikke levere alle data. Vi sender kun de data, vi ønsker opdateret.For at sende et curl
PATCH-anmodning bruger vi indstillingen -X PATCH
.
Eksempel:
curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Læg mærke til, hvordan vi kun sender kroppen med 'Opdateret indlægsindhold', da vi foretager en delvis opdatering.
DELETE-metoden bruges til at fjerne den angivne ressource fra serveren.
For at sende et curl
SLET anmodning, vi bruger indstillingen -X DELETE
.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Bemærk:DELETE-metoden har ingen krop.Nogle gange har et API-slutpunkt begrænset adgang og serverer kun anmodninger til godkendte og autoriserede brugere. For disse anmodninger skal vi give et adgangstoken i anmodningens overskrift.
For at sende et curl
header, vi bruger: -H
mulighed.
Følgende anmodning sender POST-anmodning med et bærertoken i overskriften:
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 dette indlæg lærte vi, hvordan man sender HTTP-anmodninger (GET, POST, PUT, PATCH og SLET) til en API ved hjælp af curl-kommandoer.