Momwe Mungagwiritsire Ntchito CURL Kutumiza Zopempha za API

Munkhaniyi, tikambirana momwe tingagwiritsire ntchito curl kuti mulumikizane ndi APIS OTHANDIZA curl ndi chida cholozera chomwe chitha kugwiritsidwa ntchito kutumiza zopempha ku API.

Zopempha za API zimapangidwa ndi magawo anayi osiyanasiyana:

  • Mapeto. Uwu ndi URL yomwe timatumiza zopempha.
  • Njira ya HTTP. Zomwe tikufuna kuchita. Njira zofala kwambiri ndi GET POST PUT DELETE ndi PATCH
  • Mitu. Mitu yomwe timafuna kutumiza limodzi ndi pempho lathu, mwachitsanzo. mutu wololeza.
  • Thupi. Zambiri zomwe tikufuna kutumiza ku api.


Kupiringa Syntax

Chidule cha curl lamulo ndi:


curl [options] [URL...]

Zosankha zomwe tikambirana patsamba lino ndi:

  • -X kapena --request - Njira ya HTTP yogwiritsidwa ntchito
  • -i kapena --include - Phatikizani mitu yoyankha
  • -d kapena --data - Zomwe ziyenera kutumizidwa ku API
  • -H kapena --header - Mitu ina yowonjezera yomwe ingatumizedwe


HTTP GET

Njira ya GET imagwiritsidwa ntchito katola gwero lochokera ku seva. Mu curl, njira ya GET ndiyo njira yosasintha, chifukwa chake sitiyenera kuyiyika.


Chitsanzo:

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

GET NDI Query Magawo

Tikhozanso kutumiza magawo amafunso pamodzi ndi curl GET pempho.

Chitsanzo:

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

Kutumiza kwa HTTP

Njira ya POST imagwiritsidwa ntchito pangani chothandizira pa seva.


Kutumiza curl POST pempho timagwiritsa ntchito njira -X POST.

POST Fomu ya Deta

Chitsanzo:

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

Mwachinsinsi, curl amagwiritsa Content-Type: application/x-www-form-urlencoded monga Content-Type chamutu, chifukwa chake sitiyenera kuzitchula potumiza mafomu.

Tumizani JSON

KU POST a JSON by curl Tiyenera kufotokoza Content-Type monga application/json.


Chitsanzo:

curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts


Kuyika kwa HTTP

Njira ya PUT imagwiritsidwa ntchito zosintha kapena m'malo chothandizira pa seva. Imalowa m'malo mwa zidziwitso zonse zomwe zafotokozedwazo ndi zomwe zafunsidwa.

Zindikirani:Pempho la PUT, tiyenera kupereka zonse zomwe zili mgululi.

Kutumiza curl PEN pempho timagwiritsa ntchito njira -X PUT.

Chitsanzo:


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

Pempho la PUT pamwambapa lisintha positi yomwe tidalemba kale ndi 'New post title' ndi 'New post body'.



Chigamba cha HTTP

Njira ya PATCH imagwiritsidwa ntchito kupanga zosintha pang'ono kuzinthu zopezeka pa seva.

Zindikirani:Pempho la PATCH, sitiyenera kupereka zonse. Timangotumiza zomwe tikufuna kuti zisinthidwe.

Kutumiza curl PATCH pempho timagwiritsa ntchito njira -X PATCH.

Chitsanzo:


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

Tawonani momwe tikungotumizira thupili ndi 'Zosintha posachedwa' pomwe tikusintha pang'ono.



Chotsani HTTP

Njira DELETE imagwiritsidwa ntchito kuchotsa zomwe zanenedwa kuchokera pa seva.

Kutumiza curl Chotsani pempho timagwiritsa ntchito njira -X DELETE.

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5 Zindikirani:Njira ya DELETE ilibe thupi.

Kutsimikizira

Nthawi zina kumapeto kwa API kumaletsa kufikira ndipo kumangotumiza zopempha kwa ogwiritsa ntchito ovomerezeka ndi ovomerezeka. Pazofunsazi, tiyenera kupereka chiphaso chomvera pamutu pempho.

Kutumiza curl chamutu, timagwiritsa ntchito: -H mwina.

Pempho lotsatirali limatumiza POST pempho lokhala ndi chonyamulira pamutu:

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

Kutsiliza

Mu positi iyi taphunzira momwe tingatumizire zopempha za HTTP (GET, POST, PUT, PATCH ndi DELETE) ku API pogwiritsa ntchito ma curl.