اصطلاح rest api

اصطلاح rest api

اگر می خواهید مستندات API را بخوانید و از آنها استفاده کنید ، ابتدا باید همه چیز را درباره اصطلاح REST API بدانید.

 

اگر در فکر دریافت داده از منبع دیگری در اینترنت مانند Twitter یا Github باشید ، احتمال اینکه با اصطلاح REST API برخورد کرده باشید بسیار زیاد است.

اما REST API چیست؟ چه کاری می تواند برای شما انجام دهد؟ چطور به کار می رود؟

 

در این مقاله ، همه چیزهایی را که باید در مورد اصطلاح REST API بدانید یاد خواهید گرفت تا بتوانید مستندات API را بخوانید و از آنها به طور موثر استفاده کنید.

 

اصطلاح REST API دقیقا چیست :

وقتی شما در حال پیدا کردن فیلم هایی در مورد بتمن در Youtube هستید. Youtube را باز می کنید ، “Batman” را در قسمت جستجو تایپ می کنید ، enter را می زنید و لیستی از فیلم ها در مورد Batman را مشاهده می کنید.

 REST API به روشی مشابه کار می کند. شما به دنبال چیزی می گردید و لیستی از نتایج را از سرویسی که درخواست می کنید دریافت می کنید.

 

API یک رابط برنامه نویسی برنامه است. یعنی مجموعه قوانینی است که به برنامه ها اجازه می دهد با یکدیگر صحبت کنند.

توسعه دهنده API را روی سرور ایجاد می کند و به مشتری اجازه می دهد تا با آن صحبت کند.

 

REST نحوه شکل گیری API را تعیین می کند. مخفف کلمه “Representational State Transfer” است.

اصطلاح rest api مجموعه قوانینی است که توسعه دهندگان هنگام ایجاد API خود از آنها پیروی می کنند. در یکی از این قوانین آمده است که شما می توانید هنگام لینک دادن به یک URL خاص ، بخشی از داده آن را (called a resource) بدست آورید.

 

به هر URL یک درخواست گفته می شود در حالی که داده ای که برای شما ارسال می شود پاسخ است.

یک درخواست از چهار چیز تشکیل شده است:

The endpoint

The method

The headers

The data (or body)

 

The endpoint یا نقطه پایانی ، نشانی اینترنتی موردنظر شما است و از این ساختار پیروی می کند:

root-endpoint/?

root-endpoint نقطه شروع API است که شما از آن درخواست می کنید. نقطه پایانی Github’s API مسیر https://api.github.com است و endpoint  یا نقطه ی پایانی توییتر هم https://api.twitter.com است.

 

این مسیرها  منابعی را که درخواست می کنید تعیین می کند. اینطور فکر کنید که مانند یک ماشین پاسخگویی خودکار است که از شما می خواهد 1 را برای یک سرویس ، 2 را برای یک سرویس دیگر ، 3 را برای یک سرویس دیگر و غیره فشار دهید.

شما از این روش می توانید به بخشهایی از یک وب سایت لینک دهید و به داده ها دسترسی پیدا کنید. به عنوان مثال ، برای دریافت لیستی از همه پست هایی که تگ “ssl” دارد در سایت use-ssl ، به https://www.use-ssl.com/tag/ssl/ بروید. https://www.use-ssl.com همان  root-endpoint است و tag /ssl مسیر آن است.

 

برای درک اینکه چه مسیرهایی در دسترس شماست ، باید اسناد API را جستجو کنید. به عنوان مثال ، بگذارید بگوییم شما می خواهید لیستی از مخازن توسط یک کاربر خاص از طریق Github’s API دریافت کنید. اسناد آن به شما می گویند برای انجام این کار از مسیر زیر استفاده کنید:

/users/:username/repos

هر دونقطه (:) در یک مسیر نشان دهنده یک متغیر است. هنگام ارسال درخواست خود باید این مقادیر را با مقادیر واقعی جایگزین کنید. در این حالت ، شما باید username را با نام کاربری واقعی کاربری که جستجو می کنید جایگزین کنید. اگر به دنبال حساب Github شخصی به نام zellwk هستید ، نام کاربری را با zellwk جایگزین کنید.

 

نقطه پایانی برای دریافت لیست repo های zellwk در Github این است:

https://api.github.com/users/zellwk/repos

قسمت آخر یک نقطه پایانی پارامترهای پرس و جو  یا کوئری هستند. از نظر فنی ، کوئری ها بخشی از معماری REST نیستند ، اما مشاهده خواهید کرد که بسیاری از API ها از آنها استفاده می کنند.

بنابراین ، برای کمک به شما در درک کامل نحوه خواندن و استفاده از API ، قصد داریم درباره آنها صحبت کنیم.

کوئری ها به شما امکان می دهند درخواست خود را با key-value ها ویرایش کنید. آنها همیشه با علامت سوال شروع می شوند (؟). سپس هر جفت پارامتر با یک ampersand (&) جدا می شود ، مانند این:

?query1=value1&query2=value2

 

وقتی می خواهید لیستی از مخازن کاربر در Github بدست آورید ، برای تغییر نتایج داده شده به شما ، سه پارامتر را به درخواست خود اضافه می کنید:

1

اگر می خواهید لیستی از مخازنی را که اخیراً به آنها وارد شده اید دریافت کنید ، می توانید Sort را وارد کنید.

 

تست نقاط انتهایی با Curl

می توانید با هر زبان برنامه نویسی درخواست ارسال کنید. کاربران JavaScript می توانند از روش هایی مانند Fetch API و jQuery’s Ajax استفاده کنند. کاربران Ruby می توانند از کلاس Ruby’s Net :: HTTP استفاده کنند ، کاربران پایتون می توانند از Python Requests استفاده کنند. و غیره

 

در این مقاله ، ما از ابزار خط فرمان به نام cURL استفاده خواهیم کرد. ما از cURL استفاده می کنیم زیرا مستندات API معمولاً با  cURL نوشته می شوند. اگر نحوه استفاده از cURL را می فهمید ، در درک مستندات API مشکلی نخواهید داشت. سپس ، به راحتی می توانید درخواست ها را با زبان دلخواه خود بنویسید.

 

قبل از ادامه ، می خواهید مطمئن شوید که cURL را روی دستگاه خود نصب کرده اید. ترمینال خود را باز کرده و curl -version را تایپ کنید. این دستور نسخه cURL را که روی سیستم خود نصب کرده اید بررسی می کند.

curl –version

اگر cURL را نصب نکنید ، با خطای “دستور پیدا نشد” مواجه می شوید. اگر این خطا را دریافت کردید ، باید قبل از ادامه کار curl را نصب کنید.

 

برای استفاده از cURL ، curl را تایپ می کنید و به دنبال آن نقطه پایانی را که درخواست می کنید ، قرار می دهید. به عنوان مثال ، برای دریافت نقطه پایانی ریشه Github ، موارد زیر را تایپ می کنید:

curl https://api.github.com

 

پس از ورود ، باید پاسخی از Github دریافت کنید که به این شکل است:

2

برای به دست آوردن لیستی از مخازن کاربر ، می توانید نقطه پایانی را به مسیر صحیح تغییر دهید ، مانند آنچه در بالا اشاره کردیم. برای دریافت لیستی از مخازن کاربری به نام zellwk ، می توانید از این دستور استفاده کنید:

curl https://api.github.com/users/zellwk/repos

اگر می خواهید پارامترهای کوئری را همراه با cURL وارد کنید ، مطمئن شوید که یک بک اسلش backslash (\) قبل از؟ و = گذاشته اید.

این کار به دلیل این هست که ؟ و = کاراکترهای خاصی در خط فرمان هستند. برای تفسیر آنها به عنوان نویسه های معمولی ، باید از بک اسلش \ قبل از آنها برای خط فرمان استفاده کنید:

curl https://api.github.com/users/zellwk/repos\?sort\=pushed

سعی کنید از هر دو دستور استفاده کنید و یک درخواست را انجام دهید! پاسخی مشابه با آنچه که با root-endpont Github وارد کردید و مشاهده کرده اید دریافت خواهید کرد اما با داده های بسیار بیشتر.

درحال ارسال
امتیاز دهی کاربران
0 (0 رای)
0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.