En aquest article, parlarem de com utilitzar curl
per interactuar amb les API RESTful. curl
és una utilitat de línia d'ordres que es pot utilitzar per enviar sol·licituds a una API.
Les sol·licituds d'API es componen de quatre parts diferents:
GET
POST
PUT
DELETE
i PATCH
La sintaxi per a curl
l'ordre és:
curl [options] [URL...]
Les opcions que tractarem en aquest post són:
-X
o --request
- Mètode HTTP que s’ha d’utilitzar-i
o --include
- Incloeu les capçaleres de resposta-d
o --data
- Les dades que s’enviaran a l’API-H
o --header
- Qualsevol capçalera addicional que cal enviarS’utilitza el mètode GET buscar un recurs d'un servidor. A curl
, el mètode GET és el mètode predeterminat, de manera que no cal especificar-lo.
Exemple:
curl https://jsonplaceholder.typicode.com/posts
També podem enviar paràmetres de consulta juntament amb el curl
Sol·licitud GET.
Exemple:
curl https://jsonplaceholder.typicode.com/posts?userId=5
S’utilitza el mètode POST crear un recurs al servidor.
Per enviar un curl
Sol·licitud POST utilitzem l'opció -X POST
.
Exemple:
curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts
Per defecte, curl
utilitza Content-Type: application/x-www-form-urlencoded
com el Content-Type
capçalera, de manera que no cal especificar-la a l’hora d’enviar les dades del formulari.
Per POSTAR un JSON per curl
hem d’especificar el Content-Type
com application/json
.
Exemple:
curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts
S’utilitza el mètode PUT actualització o bé substituir un recurs al servidor. Substitueix totes les dades del recurs especificat per les dades de sol·licituds subministrades.
Nota:Per a una sol·licitud PUT, hem de proporcionar totes les dades al cos de la sol·licitud.Per enviar un curl
Sol·licitud PUT fem servir l'opció -X PUT
.
Exemple:
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
La sol·licitud PUT anterior substituirà la nostra publicació creada anteriorment per 'Títol de publicació nova' i 'Cos de publicació nova'.
S’utilitza el mètode PATCH per fer actualitzacions parcials al recurs del servidor.
Nota:Per a una sol·licitud de PATCH, no hem de proporcionar totes les dades. Només enviem les dades que volem actualitzar.Per enviar un curl
Sol·licitud de PATCH utilitzem l'opció -X PATCH
.
Exemple:
curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Tingueu en compte que només estem enviant el cos amb 'Contingut publicat actualitzat', ja que estem fent una actualització parcial.
El mètode DELETE s’utilitza per eliminar el recurs especificat del servidor.
Per enviar un curl
SOL·LICITA la sol·licitud que fem servir l'opció -X DELETE
.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Nota:El mètode DELETE no té cap cos.De vegades, un punt final de l’API té accés restringit i només atén les sol·licituds a usuaris autenticats i autoritzats. Per a aquestes sol·licituds, hem de proporcionar un testimoni d’accés a la capçalera de la sol·licitud.
Per enviar un curl
capçalera, fem servir: -H
opció.
La sol·licitud següent envia la sol·licitud POST amb un testimoni de portador a la capçalera:
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!' }'
En aquesta publicació hem après a enviar sol·licituds HTTP (GET, POST, PUT, PATCH i DELETE) a una API mitjançant ordres curl.