اگر به دنبال توضیحی در مورد اینکه REST API چیست و چگونه می توانید از آن استفاده کنید، در جای درستی هستید.
نکات کلیدی
- API ها ارتباط بین برنامه های نرم افزاری را با دریافت درخواست ها و برگرداندن پاسخ های مرتبط تسهیل می کنند و دسترسی و دستکاری داده ها را آسان تر می کنند.
- API های REST از URI ها برای دسترسی و دستکاری منابع استفاده می کنند، با افعال درخواستی مختلف مانند GET، POST، PUT و DELETE به ترتیب برای واکشی، افزودن، به روز رسانی و حذف داده ها.
- با استفاده از کتابخانههایی مانند got in JavaScript یا درخواستها در Python، میتوانید برنامههایی بسازید که دادهها را از APIهای REST مختلف میگیرند، به سادگی با ارائه کلید API و پرس و جو در URL.
مخفف API مخفف رابط برنامه نویسی کاربردی است. API مجموعه ای از توابع است که ارتباط بین دو نرم افزار را تسهیل می کند. اساساً یک API درخواستی را از یک برنامه نرمافزاری به برنامه دیگر میبرد، سپس با یک پاسخ مرتبط به نرمافزار آغازگر باز میگردد.
REST مخفف عبارت Represational State Transfer است، یک معماری که برای طراحی برنامه های کاربردی کلاینت-سرور استفاده می شود. با REST API، شما نمایشی از داده های درخواستی ذخیره شده در پایگاه داده دریافت می کنید. یک REST API نیز بدون حالت است، به این معنی که سرور هیچ داده ای را بین درخواست های مشتریان ذخیره نمی کند.
یک REST API چگونه کار می کند؟
یک REST API از طریق URI ها (شناسه های منبع یکسان) به داده ها دسترسی پیدا می کند. URI ها رشته ای از کاراکترها هستند که یک منبع خاص را شناسایی می کنند. نوع خاصی از URI که توسط یک REST API استفاده می شود، معمولاً یک URL (جابگر منبع یکنواخت) است.
برای دسترسی و دستکاری منابع، یک REST API از افعال درخواست زیر استفاده می کند:
- دریافت — داده ها را از پایگاه داده واکشی می کند.
- پست – داده های جدیدی را به پایگاه داده اضافه می کند.
- قرار دادن – داده ها را در یک پایگاه داده به روز می کند.
- حذف – داده ها را از پایگاه داده حذف می کند.
اگر می خواهید از خدمات یکی از بسیاری از API های REST موجود در وب استفاده کنید (به جای ساختن یکی از ابتدا)، فقط به فعل درخواست درخواست REST API (از طریق URL) دسترسی خواهید داشت. این URL ها چندین مؤلفه دارند، اما مواردی که باید بدانید کلید API و پرس و جو هستند.
کلید API یک شناسه منحصر به فرد است که پس از ثبت نام در یک پلت فرم REST API دریافت خواهید کرد. پرس و جو معمولا یک معادله ساده است که برای شخصی سازی جستجوی شما استفاده می شود. بنابراین، اگر میخواهید آب و هوای فعلی شهر نیویورک را دریافت کنید، بخش جستجوی URL شما ممکن است «شهر=نیویورک» باشد.
اجرای درخواست دریافت پاسخی را برمیگرداند که شامل کد وضعیت و بدنه است. اگر درخواست موفقیت آمیز باشد، بدنه پاسخ شما حاوی داده هایی است که قصد دارید در وب سایت یا برنامه خود استفاده کنید.
استفاده از یک برنامه جاوا اسکریپت برای گرفتن داده از API های REST مختلف
برای ساخت این برنامه جاوا اسکریپت، دو نرم افزار کاربردی وجود دارد که باید روی کامپیوتر خود نصب کنید: NodeJS و npm. ما مقاله ای در مورد نحوه نصب NodeJS و npm در اوبونتو و همچنین مقاله ای در مورد نحوه نصب NodeJS و npm در ویندوز داریم—پس اگر می خواهید بیشتر بدانید آن ها را بررسی کنید.
پس از نصب برنامه های بالا، باید مراحل زیر را انجام دهید:
- IDE خود را باز کنید و ترمینال را راه اندازی کنید.
- با استفاده از دستور cd به پوشه حاوی فایل برنامه جاوا اسکریپت خود بروید.
- npm را با خط کد زیر مقداردهی کنید: npm init -y
npm init -y
یک ماژول npm وجود دارد که نقش کلیدی در عملکرد این برنامه ایفا می کند. این ماژول got است که یک کتابخانه درخواست HTTP برای NodeJS است. خط کد زیر آخرین نسخه از کتابخانه got را در فایل های برنامه شما نصب می کند:
npm install got@latest
اکنون می توانید ادامه دهید و برنامه خود را بسازید.
استفاده از Got Library برای ساخت اپلیکیشن شما
// import the got library into your application
import got from 'got';
// fetch data from an API and prints its body to the terminal
(async () => {
try {
const response = await got(URL);
const data = JSON.parse(response.body);
console.log(data);
} catch (error) {
console.log(error.data);
}
})();
برنامه بالا داده ها را از هر REST API در وب می گیرد. با این حال، ابتدا باید URL منبع مربوطه را ارائه دهید.
گرفتن داده از API Weather REST
Weatherbit.io API یکی از محبوبترین APIهای هواشناسی است. درج URL این API در برنامه ساده جاوا اسکریپت بالا، برنامه را عملیاتی می کند.
با استفاده از Weatherbit.io REST API
// import the got library into your application
const got = require('got');
// fetch data from an API and prints its body to the terminal
(async () => {
try {
const URL =
'https://api.weatherbit.io/v2.0/current?lat=40.7128&lon=-74.0060&key=API_KEY';
const response = await got(URL);
const data = JSON.parse(response.body);
console.log(data);
} catch (error) {
console.log(error.data);
}
})();
URL برای Weatherbit.io API اکنون بخشی از برنامه است. با این حال، یک جنبه از URL وجود دارد که برای اجرای برنامه باید آن را تنظیم کنید. این بخش با عنوان “API_KEY” است. کلید API چیزی است که هنگام ثبت نام برای یک حساب رایگان از Weatherbit.io دریافت خواهید کرد.
شما همچنین می توانید بخش پرس و جو را در کد بالا تنظیم کنید. برنامه در حال حاضر در حال جستجوی آب و هوا در عرض جغرافیایی 40.7128 و طول جغرافیایی 74.0060- است، اما می توانید مختصات جدیدی را وارد کنید. اگرچه درخواست بالا روش پیشنهادی است، میتوانید با استفاده از نام شهر، آب و هوا را در یک مکان جستجو کنید.
پس از قرار دادن کلید API خود در بخش مربوطه در بالا، اکنون می توانید فایل جاوا اسکریپت خود را اجرا کنید. برنامه چیزی شبیه خروجی زیر را در ترمینال شما نشان می دهد:
برخی از جنبه های مهمتر داده های پاسخ عبارتند از:
- city_name – نام شهر در طول و عرض جغرافیایی ارائه شده.
- datetime—ساعت چرخه فعلی در قالب YYYY-MM-DD: HH.
- آب و هوا – یک شی حاوی نماد آب و هوا، کد آب و هوا و توضیح متنی آب و هوا.
گرفتن داده از API News REST
این بخش از Newsdata.io API استفاده می کند. مانند تمام API های REST در وب، چندین گزینه پرس و جو ارائه می دهد که می توانید از آنها برای بازیابی اخبار فوری از سراسر جهان استفاده کنید. با Newsdata.io API می توانید اخبار یک کشور خاص یا به زبان، دسته بندی و غیره را دریافت کنید.
با استفاده از برنامه جاوا اسکریپت، می توانید داده ها را از اخبار REST API بازیابی کنید. به سادگی URL موجود در برنامه بالا را با URL زیر جایگزین کنید:
'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'
گام بعدی این است که بخش «YOUR_API_KEY» را در URL بالا با کلید API که پس از ثبت نام در Newsdata.io دریافت خواهید کرد، جایگزین کنید. نشانی اینترنتی بالا اخبار فوری از آمریکا را برمی گرداند. با این حال، اگر اخباری از ژاپن میخواهید، میتوانید به سادگی عبارت «country=us» را با «country=jp» جایگزین کنید.
بدنه پاسخ مجموعه ای از اشیاء حاوی اخبار از آمریکا خواهد بود. شی زیر اولین مورد در آرایه است:
استفاده از یک برنامه پایتون برای گرفتن داده از API های مختلف Rest
این امکان وجود دارد که با استفاده از هر زبان برنامه نویسی که با آن آشنایی دارید، داده ها را برای وب سایت یا برنامه خود بگیرید. بنابراین، اگر نمی خواهید از جاوا اسکریپت استفاده کنید، می توانید نتایج مشابهی را با یک برنامه پایتون به دست آورید. میتوانید با استفاده از یکی از چارچوبهای آن، یک API پایتون بسازید، یا با استفاده از یک اسکریپت ساده، دادهها را از یک API REST موجود بگیرید.
تنها کاری که باید انجام دهید این است که ماژول HTTP python درخواست ها را با استفاده از محیط pip نصب کنید. سپس، می توانید برنامه پایتون خود را با استفاده از کد زیر بسازید:
# import the requests library
import requests
# grabbing data using the requests library
URL = 'https://newsdata.io/api/1/sources?apikey=YOUR_API_KEY=us'
res = requests.get(URL)
json = res.json()
for key in json:
print(key, json[key])
مانند مثال های قبلی، باید کلید API خود را در بخش مربوطه وارد کنید. سپس بدنه پاسخی را دریافت خواهید کرد که مشابه آن چیزی است که برنامه جاوا اسکریپت برمی گرداند.
گرفتن داده ها برای وب سایت یا برنامه شما بسیار ساده است
اکنون ابزارهایی را دارید که برای گرفتن داده ها برای برنامه های خود نیاز دارید. مهم است که به یاد داشته باشید که معماری REST اتصال شل را تسهیل می کند. این بدان معنی است که شما می توانید از هر زبان برنامه نویسی برای گرفتن داده ها از هر REST API در وب استفاده کنید.
همچنین باید به خاطر داشته باشید که کلید API و پرس و جو نقش حیاتی در توانایی شما برای دسترسی به داده های خاصی که برای برنامه خود نیاز دارید ایفا می کند.