REST API چیست؟ آموزش REST API وردپرس – راهنمای مبتدیان

REST API چیست؟ آموزش REST API وردپرس – راهنمای مبتدیان

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

REST API چیست؟

REST API چیست؟

REST ( Representational State Transfer ) API یک سبک معماری نرم‌افزاری است که نحوه ارتباط سرویس‌های وب با یکدیگر را از طریق پروتکل انتقال تعیین می کند. در حال حاضر تقریبا هر کسی که به صورت حرفه ای با وردپرس کار می‌کند نام REST API را شنیده است. 

REST API وردپرس با هدف ارائه یک API داخلی ایجاد شده که می‌تواند با قالب‌ها، افزونه‌ها، برنامه‌های کاربردی تلفن همراه و موارد دیگر ادغام شود. در واقع این ویژگی به وردپرس اجازه می دهد تا با هر برنامه‌ای تعامل داشته باشد و توسعه دهندگان حتی می توانند از آن برای ساخت API های خود استفاده کنند. به عنوان مثال، Event Espresso از WordPress REST API برای دسترسی به زیرساخت داخلی خود استفاده می کند و امکان توسعه برنامه ها را بر اساس خدمات آنها فراهم می کند.

آموزش خصوصی طراحی سایت و وردپرس به صورت آنلاین

جهت مشاوره و کسب اطلاعات بیشتر از طریق واتساپ با شماره ۰۹۹۹۹۹-۱۵۸-۱۱ در تماس باشید.

پروژه محور - ارتباط مستقیم با مدرس

آموزش کار با REST API وردپرس

در حال حاضر انواع مختلفی از رابط‌های برنامه نویسی کاربردی (API) وجود دارد ، اما REST به عنوان یک استاندارد مدرن است. با REST API بدون نیاز به دسترسی مستقیم به Database یا پنل مدیریتی و تنها با ویرایش اطلاعات متنی می‌توانید از طریق هر نرم‌افزار دیگری به اطلاعات سایت دسترسی پیدا کنید.

REST API از طریق پروتکل انتقال (HyperText Transfer Protocol – HTTP) و با استفاده از فرمت Object Notation (JSON) جاوا اسکریپت ارائه می‌شود. این ویژگی امکان دسترسی به نوشته‌ها، محصولات، برگه‌ها و سایر اطلاعات وردپرس را فراهم می‌کند.

اهمیت REST API برای توسعه دهندگان

استفاده از فرمت JSON در این ویژگی، موجب شده تا REST API بتواند اطلاعات موجود در وردپرس با سایر وب‌سایت‌ها و نرم‌افزارهای نوشته شده به هر زبان برنامه نویسی به اشتراک بگذارد. همچنین توسعه‌دهندگان دیگر محدود به PHP نیستند و می‌توانند از وردپرس برای مدیریت اطلاعات از طریق REST API استفاده کنند.

بر روی API بحث‌هایی در مورد مهم‌ترین زبان برنامه‌نویسی برای یادگیری انجام شده است. از آنجایی که REST API مبتنی بر جاوا اسکریپت است، ممکن است به زودی متوجه شوید که جاوا اسکریپت سمت سرور می‌تواند به طور کلی جایگزین PHP شود.

مراحل شروع کار با WordPress Rest API

در این آموزش، ما از رابط خط فرمان (CLI) برای اجرای تمام درخواست‌ها استفاده خواهیم کرد. CLI شما را قادر می‌سازد تا بدون نیاز به نوشتن اسکریپت های اضافی برای درخواست و پردازش اطلاعات، به راحتی با REST API تعامل داشته باشید.

ابتدا یک برنامه CLI را در سیستم خود باز کنید در سیستم عامل‌های macOS و Linux می‌توانید از ترمینال و در ویندوز از PuTTY استفاده می‌کنید. آدرس IP خود را کپی کنید و با اعتبار SSH خود وارد شوید.

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

مفاهیم کلیدی REST API

بیایید آموزش API وردپرس را با توضیح مفاهیم و اصطلاحات کلیدی آن شروع کنیم:

  • Routes و Endpoints: در اینجا Route یک مسیر یک URL است که می توانید آن را به روش های مختلف HTTP نگاشت کنید، در حالی که Endpoint ارتباطی بین یک متد individual HTTP و یک Route است. /wp-json/ نمونه‌ای از یک مسیر است و شامل تمامی نقاط پایانی (Endpoints) مربوطه است.
  • Requests: نمونه‌ای از WP_REST_Request، برای ذخیره و بازیابی اطلاعات درخواست فعلی استفاده می شود.
  • Responses: اطلاعاتی را که درخواست کرده‌اید ارائه می‌کند اگر هم خطایی رخ داده باشد نوع خطا را ارسال می‌کند.
  • Schema: لیستی از تمام ویژگی‌ها و پارامترهای ورودی را که REST API می‌تواند بپذیرد و برگرداند را به شما نشان می‌دهد.
  • Controller classes: جایی است که در آن بخش‌های داینامیک REST API را مدیریت می‌کنید.

مفیدترین Endpoint ها در REST API

در بخش بعدی آموزش، چندین نقطه پایانی(Endpoints) مفید در REST API را به شما نشان می‌دهیم که می‌توانید هر یک از آنها را در سایت دمو خود آزمایش کنید:

برای فراخوانی REST API در سایت وردپرس باید به آدرس زیر استفاده کنید، توجه داشته باشید yourdomain را به آدرس دامنه خود تغییر دهید:

http://yourdomain.com/wp-json/

برای بررسی اتصال دستور زیر را در CLI اجرا کنید کنید:

curl -X OPTIONS -i http://yourdomain.com/wp-json/

اگر مشکلی در اتصال وجود نداشته باشد، یک پیام HTTP موفقیت آمیز را مشاهده خواهید کرد:

HTTP/1.1 200 OK
Date: Wed, 23 Oct 2019 19:51:41 GMT
Server: Apache/2.4.29
X-Robots-Tag: noindex
Link: <http://yourdomain.com/wp-json/>; rel="https://api.w.org/"
X-Content-Type-Options: nosniff
Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages
Access-Control-Allow-Headers: Authorization, Content-Type
Allow: GET
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8

در مرحله بعد، می توانید این دستور را با استفاده از چندین نقطه پایانی تغییر داده و تکرار کنید. این بار، ما به سادگی از نسخه GET curl برای گرفتن لیست JSON از نوشته‌های وردپرس استفاده می کنیم. برای این کار می توانید از دستور زیر استفاده کنید:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts

اگر قصد دارید به اطلاعات برگه‌های موجود وردپرس دسترسی پیدا کنید، نقطه پایانی را به شکل زیر تغییر دهید:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/pages

اصول احراز هویت REST API

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

در این آموزش، از افزونه Basic Auth استفاده خواهیم کرد. Basic Auth یک افزونه ساده برای توسعه دهندگان است که در یادگیری REST API بسیار مفید است، اما برای سایت‌های زنده( در حال اجرا ) توصیه نمی‌شود.

پس از نصب افزونه، CLI را باز کرده و با استفاده از پنل کاربر، یک درخواست API را احراز هویت کنید. در اینجا مثالی از نحوه انجام روش احراز هویت کاربر با استفاده از curl برای مشاهده پست‌های منتشر نشده را مشاهده می کنید:

curl -X GET --user username:password -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

انتخاب پست با REST API

حال که با نحوه برقراری تماس‌های اولیه با REST API با استفاده از دستور curl را آشنا شدید، می‌توانید یک پست خاص را آزمایش کنید. به این منظور ابتدا، تمام پست‌های خود را همانطور که قبلا انجام داده‌ایم فهرست کنید:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts

ابتدا ایدی پستی را که می‌خواهید به‌روزرسانی کنید پیدا کنید سپس ایدی مورد نظر را به انتهای آدرس اضافه کنید:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts/<ID>

می‌توانید از این دستور برای انتخاب یک ایدی معین برای هر نقطه پایانی REST API و یا یک پست، صفحه یا دسته‌بندی استفاده کنید.

به‌روزرسانی پست با REST API

در ادامه آموزش REST API، سعی می کنیم با استفاده از دستور POST نام نوشته خود را تغییر دهیم. فراموش نکنید که اعتبارنامه احراز هویت را نیز درج کنید. در این مثال، یک متغیر شی جاوا اسکریپت سفارشی (title) را به یک مقدار سفارشی (My New Title) ارسال می کنید:

curl -X POST -- username:password http://yourdomain.com/wp-json/wp/v2/posts/PostID -d'{"title":"My New Title"}'

مطمئن شوید که نام کاربری، رمز عبور، ایدی پست و My New Title را با اطلاعات مورد نیاز خود جایگزین کنید.

برای تأیید یا ثبت تغییرات جدید، پست را مجدداً با دستور زیر انتخاب کنید:

curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts/PostID

جمع بندی

REST API یک ویژگی بسیار کاربردی در وردپرس است که برای توسعه‌دهندگان بسیار مفید است. بنابراین یادگیری، و کار با REST API وردپرس مهارت‌های شما را بهبود می‌بخشد و شما را قادر می‌سازد تا از طریق نرم‌افزارهای جانبی بدون دسترسی مستقیم به دیتابیس وردپرس به اطلاعات سایت دسترسی پیدا کنید.

خدمات طراحی سایت

طراحی سایت مطابق با استانداردهای روز برنامه‌نویسی، به همراه آموزش استفاده و ۶ ماه پشتیبانی رایگان