جستجو برای:
  • خانه
  • دوره و کتاب
  • مقالات
    • خانواده جاوا اسکریپت
      • مقالات جاوا اسکریپت
      • مقالات ری اکت و نکست
      • هوش مصنوعی
    • خانواده فرانت
      • مقالات سی اس اس
      • مقالات اچ تی ام ال
    • محیط کار
      • سوالات استخدامی جاوا اسکریپت
      • سوالات استخدامی ری اکت
      • اصطلاحات محیط کار فرانت اند
    • مجله پرنیان
      • تصاویر دوره ها
      • نظرات دانشجویان قدیم
  • سوالات متداول
  • تماس با ما
  • خانواده پرنیان
    • چت خانه
    • دستیار هوش مصنوعی(رایگان!)
    • تایید مدارک
    • پیام یا انتقاد (ناشناس)
    • تعیین سطح زبان انگلیسی
    • پخش لایو رادیوسام
 
  • 09921632445
  • radioarsam[at]gmail.com
  • فروشگاه محصولات
  • بلاگ
  • تماس با ما
  • درباره پارسا قربانیان، موسس مدرسه پرنیان
پارسا قربانیان |گروه آموزشی پرنیان | آموزش حرفه ای طراحی سایت
  • خانه
  • دوره و کتاب
  • مقالات
    • خانواده جاوا اسکریپت
      • مقالات جاوا اسکریپت
      • مقالات ری اکت و نکست
      • هوش مصنوعی
    • خانواده فرانت
      • مقالات سی اس اس
      • مقالات اچ تی ام ال
    • محیط کار
      • سوالات استخدامی جاوا اسکریپت
      • سوالات استخدامی ری اکت
      • اصطلاحات محیط کار فرانت اند
    • مجله پرنیان
      • تصاویر دوره ها
      • نظرات دانشجویان قدیم
  • سوالات متداول
  • تماس با ما
  • خانواده پرنیان
    • چت خانه
    • دستیار هوش مصنوعی(رایگان!)
    • تایید مدارک
    • پیام یا انتقاد (ناشناس)
    • تعیین سطح زبان انگلیسی
    • پخش لایو رادیوسام
0

ورود و ثبت نام

بلاگ پرنیان

پارسا قربانیان |گروه آموزشی پرنیان | آموزش حرفه ای طراحی سایتبلاگمقالاتمقالات جاوا اسکریپتمفهوم کامل و کاربردی RESTFUL API

مفهوم کامل و کاربردی RESTFUL API

27 آگوست 2020
ارسال شده توسط مدیریت
مقالات ، مقالات جاوا اسکریپت
507 بازدید

در این مقاله سعی می شود تمامی نکاتی که در رابطه با مبحث ای پی آی مطرح است را بررسی کنیم اما در ابتدا بهتر است ابتدا خود api را بیشتر بشناسیم.

ای پی آی در واقع یک کانکتور یا وصل کننده است که می‌توانند یک زبان را به زبان دیگری متصل کند تا از دیتا های همدیگر استفاده کنند api مخفف

application programming interface می باشد.

برای فهم درست ترای پی آی به این مثال توجه کنید، فرض کنید شما نامه ای برای دوستتان در بارسلونا می نویسید پستچی نامه را از شما تحویل میگیرد و به دوستتان در بارسلون تحویل می دهد فرض کنید که صبر می کند آنجا تا جواب نامه را از دوست تان بگیرد و برای شما پس بیاورد. در اصل دو کلاینت این که شما و دوستتان هستید و در این وسط پستچی به معنای ای پی آی می باشد یعنی همان رابط کاربری اپلیکیشن که باعث شد اطلاعات بین شما و دوستتان رد و بدل شود.

Rest API introduction

اما نقش api در دنیای وب سایت ها به اینگونه است که فرض کنید وارد یک فروشگاه اینترنتی می شوید پس از انتخاب کردن کالای مورد نظر خود وارد درگاه پرداخت می شوید درگاه پرداخت یک وبسایت کاملا جداگانه از وب سایت اصلی فروشگاه می باشد. پرداخت را در سایت دیگری انجام می دهید اما اطلاعات در وب سایت فروشگاه اینترنتی ما ثبت میشود.ارتباطی که بین این دو وبسایت کاملاً جدا از هم برقرار شده می‌تواند یکی از مهمترین و پرکاربردترین کاربردهای api شمرده شود.


عموما برای اینکه وب بازدهی سایت خود را بالا ببریم و یا اینکه بتوانیم وب‌سایت خود را برای پلتفرم های دیگر گسترش بدهیم باید از ای پی آی استفاده کنیم.

در این صورت است که به وبسایت ما می توانند با زبان‌های دیگر تعامل سازنده داشته باشد.

به طور مثال وب سایت ما را در نظر بگیرید که از چندین زبان مختلف نگارش شده است. از سمت فرانت اند گرفته از html css تا جاوا اسکریپت و php و…

بهتر از من می‌دانید که تمام این زبان ها چه زبان برنامه نویسی باشند چه زبان تفسیر شده باید با هم در ارتباط بوده و دیتا های خود را با هم به اشتراک بگذارند بهترین راه حل برای این که بتوانیم پل ارتباطی بین این زبان ها به وجود آوریم همین ای پی آی ها می باشند.

برای ساخت api ها روشها و معماری های متفاوتی وجود دارد یکی از معروف ترین این معماری ها ،معماری restful api نام دارد.

REST مخفف Representational State Transfer ، در واقع مجموعه ای از دستورالعمل ها و قوانینی است برای انتقال داده از زبانی به زبان های دیگر که اگر در ساخت api خود این مجموعه قوانین و دستورالعمل ها را رعایت کنیم در واقع زیر مجموعه ساختار رست فول ای پی آی هستیم.

معماری رست در واقع برای ایجاد ارتباط بین دو کلاینت که از پروتکل های معروفی مانند اچ‌تی‌تی‌پی اف تی پی و غیره استفاده می کنند و برای ایجاد، آپدیت، خواندن و نوشتن و یا حتی حذف فایلها روی سرور نیز می توان از آن استفاده کرد.

پس اگر جایی نام ReSTful application را شنیدید بدانید بر پایه معماری رست فول ای پی آی نگارش شده است.

مفهوم کامل و کاربردی RESTFUL API
مفهوم کامل و کاربردی RESTFUL API

اما معماری رست که ظاهر api را مشخص میکند چه المان هایی دارد:

  • Rest تشکیل شده از متدهای HTTP می‌باشد
    • POST: یک درخواست به سمت سرور ارسال می‌کند.
    • GET: تمامی اطلاعاتی که از سمت سرور می‌آید را دریافت می‌کند.
    • PUT: اطلاعاتی که از قبل ارسال شده‌اند را بروزرسانی یا جای‌گذاری می‌کند.
    • DELETE: همین‌طور که از نامش پیداست وظیفه حذف تمامی اطلاعات نمایشی منبع هدف را دارد.
    • PATCH: متد کمتر شناخته شده از HTTP است اما کار دو متد POST و PUT را انجام می‌دهد و می‌توانید با این متد تغییرات جزئی را ایجاد کنید.
  • وضعیت کدها را به ما نمایش می‌دهد(code status)
    • نوع اول:  از ۱۰۰ تا ۱۹۹
    • نوع دوم: از ۲۰۰ تا ۲۹۹
    • نوع سوم: از ۳۰۰ تا ۳۹۹
    • نوع چهارم: از ۴۰۰ تا ۴۹۹
    • نوع پنجم: از ۵۰۰ تا ۵۹۹
  • نوع پاسخ‌ها را نیز به نمایش می‌گذارد.
    • ۱XX: پیام‌های اطلاعاتی (مثل پیام اطلاعاتی ۱۰۰)
    • ۲XX: پیام‌های موفقیت‌آمیز (مثل پیام موفقیت آمیز ۲۰۰)
    • ۳XX: تغییر مسیرها (مثل پیام ۳۰۴)
    • ۴XX: خطاهایی از سمت کاربر (مثل خطاهای ۴۰۴)
    • ۵XX: خطاهایی از سمت سرور (مثل خطای ۵۰۰k)

نکاتی که در بالا گفته شد بیشتر یک امر به back-end کسانی که با زبان‌هایی مانند php یا asp و سرور کار دارند بیشتر با این مفاهیم درگیر هستند دوستانی که سمت front-end کدنویسی می‌کنند از این مباحث آشنایی کمتری دارند.

محتوای این api ها کدهایی از JSON . JavaScript Object Notation می باشد.

خداییش با حضور آقا آرسام، تا اینجا رو شاهکار کردم و نوشتم 🙂

در کلاس ها در مورد مفهوم جیسون بسیار صحبت کرده‌ایم اما در کل بدانیم که JSON در عمل آرایه ای از آبجکت ها می باشد که دیتاهای وبسایت ما در آن قرار دارد. برای مثال آدرس کد زیر را باز کنید و یک جی سان در قالب آرایه ای از آبجکت ها می باشد مشاهده بفرمایید

https://jsonplaceholder.typicode.com/posts

اما چگونه api را بر حسب معماری REST بنویسیم:

۱- شما همواره باید برای api خود ورژن تعریف نمایید، مانند http://parsa.ir/api/v1

۲- یکی از مهمترین قوانین رست، جداسازی مقادیر با اسلش می‌باشد به مثال های زیر توجه کنید

page.php?id=202&date=07112012 :=> query parameters

page/202/07112012/ or /{page}/{id}/{data} :=> REST

۳- استفاده از متد های HTTP که در بالا اشاره شد

جمع بندی:

خوب تا به اینجای کار احتمال زیاد در مورد مفهوم مطالب ارائه شده چیزهایی را یاد گرفته اید اما اگر فرانت اند کار هستید هنوز نحوه ساخت url را یاد نگرفته اید که البته ایرادی نیست به این خاطر که ساخت این آدرس ها بیشتر از سمت بک اند انجام میشود(البته در ری اکت توانایی ساخت url را دارید) ممکن است از شما بخواهند که مقادیری را از api ها استخراج کرده و با استخراج این مقادیر متوجه یک سری مطالب بشوید.

( این قسمت از صحبت های من با دوستان فرانت اند کار هست ) اگر url به شما دادند و گفتند داخل این url مقادیری هست که باید استخراج کنید و مطالبی از آن درک کنید نمونه کدی برای شما می آورند که توسط زبان جاوا اسکریپت بتوانید استخراج کرده و با تکنیک هایی مانند REGX و یا غیره محتوای داخل URL را کاوش کرده و به مفاهیم مربوط به آن دسترسی پیدا کنید.

JavaScript Window Location

  • window.location.href returns the href (URL) of the current page
  • window.location.hostname returns the domain name of the web host
  • window.location.pathname returns the path and filename of the current page
  • window.location.protocol returns the web protocol used (http: or https:)
  • window.location.assign() loads a new document

به طور مثال کد زیر، url صفحه را به شما می دهند و با استخراج مقادیر داخل آن می توانید به دیتا مورد نظر خود دسترسی بگیرید
window.location.href

بهتر است کار با نرم افزار postman را هم یادبگیرید. کار این نرم افزار ساختن انواع API میباشد.

امیدواریم از این مقاله نهایت استفاده را برده باشید و آن را با دوستانتان به اشتراک بگذارید. تیم تولید محتوای مدرسه اینترنتی پرنیان این مقاله را تهیه کرده است.

اشتراک گذاری:
درباره مدیریت

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

نوشته های بیشتر از مدیریت
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
در یوتوب
ما را دنبال کنید!
Created by potrace 1.14, written by Peter Selinger 2001-2017
در آپارات
ما را دنبال کنید!

مطالب زیر را حتما مطالعه کنید

Vibe Coding چیست؟ آیا آینده برنامه‌نویسی تغییر کرده است؟
Vibe Coding چیست؟ آیا آینده برنامه‌نویسی تغییر کرده است؟
MCP چیست
MCP چیست و چرا آینده برنامه‌نویسی با هوش مصنوعی را تغییر می‌دهد؟
تفاوت HTMLCollection و NodeList در جاوا اسکریپت
تفاوت HTMLCollection و NodeList در جاوا اسکریپت
State Normalization در فرانت‌اند چیست؟
State Normalization در فرانت‌اند چیست؟
حفظ روحیه برنامه نویسان در شرایط جنگی
حفظ روحیه برنامه نویسان در شرایط جنگی
خبر فوری
اطلاعیه مهم درباره شروع کلاس ها
قدیمی تر نمایشگاه کار و حضور دانشجویان دوره ها
جدیدتر پایان دومین دوره

7 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • محمدباقر شریفی گفت:
    27 آگوست 2020 در 3:28 ب.ظ

    مثل همیشه عالی
    👌👌

    پاسخ
  • fahimeh گفت:
    4 نوامبر 2020 در 2:50 ب.ظ

    مثل همیشه کامل و عالی هست .

    پاسخ
  • شیما گفت:
    4 آگوست 2022 در 9:22 ق.ظ

    اطلاعات خیلی جامع و کامل بود ممنون

    پاسخ
    • trainingsitedesign گفت:
      4 آگوست 2022 در 12:53 ب.ظ

      خواهش میکنم ♥

      پاسخ
  • محمد گفت:
    3 می 2023 در 6:14 ب.ظ

    خیلی شیوا بیان کردید آفرین

    پاسخ
    • trainingsitedesign گفت:
      4 می 2023 در 10:25 ق.ظ

      سپاس از شما

      پاسخ
  • mokarram.mohamad گفت:
    18 آگوست 2025 در 6:55 ب.ظ

    مختصر و مفید 👌

    پاسخ

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
نوشته‌های تازه
  • Vibe Coding چیست؟ آیا آینده برنامه‌نویسی تغییر کرده است؟
  • MCP چیست و چرا آینده برنامه‌نویسی با هوش مصنوعی را تغییر می‌دهد؟
  • تفاوت HTMLCollection و NodeList در جاوا اسکریپت
  • State Normalization در فرانت‌اند چیست؟
  • حفظ روحیه برنامه نویسان در شرایط جنگی
دسته‌ها
دوره ها:

کلاس های درحال ثبت نام فرانت اند: 

  • دوره فرانت اند صبح از اوایل آبان
  • دوره جاوا اسکریپت و ری اکت از 31مرداد

دوره فرانت اند پرنیان

 

مدرسه فرانت اند پرنیان

گروه آموزشی پرنیان از سال 92 تاسیس شده و تاکنون ده ها دوره طراحی وب ، CMS ، سئو و بوت کمپ فرانت اند به صورت حضوری و غیر حضوری برگزار کرده است. ما در پرنیان جدیدترین و کاربردی ترین مباحث طراحی و توسعه وب ، سئو و دیجیتال مارکتینگ رو آموزش داده و راه ورود شما عزیزان به بازار کار را هموار کرده ایم.

فهرست سفارشی
  • بلاگ
  • تماس با ما
  • حساب کاربری من
  • درباره پارسا قربانیان، موسس مدرسه پرنیان
  • سبد خرید
  • فروشگاه

لوگوی مدرسه پرنیان

تمام حقوق برای مدرسه فرانت اند پرنیان محفوظ است. سیاست حفظ حریم شخصی

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت