Hvernig á að nota CURL til að senda API beiðnir

Í þessari grein ætlum við að ræða hvernig á að nota curl til að eiga samskipti við RESTful API. curl er stjórnlínutæki sem hægt er að nota til að senda beiðnir í API.

API beiðnir samanstanda af fjórum mismunandi hlutum:

  • Endapunkturinn. Þetta er slóðin sem við sendum beiðnir á.
  • HTTP aðferðin. Aðgerðin sem við viljum framkvæma. Algengustu aðferðirnar eru GET POST PUT DELETE og PATCH
  • Hausarnir. Fyrirsagnirnar sem við viljum senda með beiðni okkar, t.d. heimildarhaus.
  • Líkaminn. Gögnin sem við viljum senda til API.


krulla Setningafræði

Setningafræði fyrir curl skipun er:


curl [options] [URL...]

Valkostirnir sem við munum fjalla um í þessari færslu eru:

  • -X eða --request - HTTP aðferð til að nota
  • -i eða --include - Láttu svörunarhausana fylgja með
  • -d eða --data - Gögnin sem senda á API
  • -H eða --header - Allar viðbótarhausar sem senda á


HTTP FÁ

GET aðferðin er notuð til sækja auðlind frá netþjóni. Í curl er GET aðferðin sjálfgefin aðferð, svo við þurfum ekki að tilgreina hana.


Dæmi:



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

FÁÐU þig með fyrirspurnarfæribreytur

Við getum líka sent fyrirspurnarfæribreytur ásamt curl FÁ beiðni.

Dæmi:

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

HTTP POST

POST aðferðin er notuð til búa til auðlind á netþjóninum.


Til að senda curl POST beiðni við notum valkostinn -X POST.

POST eyðublaðsgögn

Dæmi:

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

Sjálfgefið, curl notar Content-Type: application/x-www-form-urlencoded sem Content-Type haus, svo við þurfum ekki að tilgreina það þegar formgögn eru send.

POST JSON

Að POSTA JSON eftir curl við verðum að tilgreina Content-Type sem application/json.


Dæmi:

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 aðferðin er notuð til uppfæra eða skipta um auðlind á netþjóninum. Það kemur í stað allra gagna tilgreindrar auðlindar með gögnum sem fylgja beiðninni.

Athugið:Fyrir PUT beiðni verðum við að veita öll gögn í beiðni stofnunarinnar.

Til að senda curl PUT beiðni við notum valkostinn -X PUT.

Dæmi:


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

Ofangreind PUT beiðni kemur í staðinn fyrir áður búna færslu okkar fyrir „Nýjan titil færslu“ og „Nýjan póst meginmál“.



HTTP PATCH

PATCH aðferðin er notuð til að búa til hluta uppfærslur að auðlindinni á netþjóninum.

Athugið:Fyrir PATCH beiðni þurfum við ekki að leggja fram öll gögn. Við sendum aðeins þau gögn sem við viljum uppfæra.

Til að senda curl PATCH beiðni við notum valkostinn -X PATCH.

Dæmi:


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

Takið eftir því hvernig við erum aðeins að senda meginmálið með „Uppfært færsluefni“ þar sem við erum að gera uppfærslu að hluta.



HTTP eyða

DELETE aðferðin er notuð til að fjarlægja tilgreinda auðlind af þjóninum.

Til að senda curl EYÐA beiðni við notum valkostinn -X DELETE.

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5 Athugið:DELETE aðferðin hefur engan líkama.

Auðkenning

Stundum hefur lokapunktur API takmarkaðan aðgang og mun aðeins þjóna beiðnum til staðfestra og viðurkenndra notenda. Fyrir þessar beiðnir verðum við að veita aðgangstákn í haus beiðninnar.

Til að senda curl haus, við notum: -H valkostur.

Eftirfarandi beiðni sendir POST beiðni með merki merkis í hausnum:

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

Niðurstaða

Í þessari færslu lærðum við hvernig á að senda HTTP beiðnir (GET, POST, PUT, PATCH og DELETE) í forritaskil með krulluskipunum.