OpenAPI (که قبلاً به عنوان Swagger شناخته میشد) یک استاندارد صنعتی برای توصیف رابطهای برنامهنویسی کاربردی (APIs) به صورت قابل فهم برای ماشین و انسان است.
به زبان ساده، OpenAPI یک راه استاندارد برای توصیف این است که یک API چگونه کار میکند.که شامل موارد زیر است:
نقاط پایانی (Endpoints) موجود: چه آدرسهای وب (URLها) برای دسترسی به عملکردهای مختلف API وجود دارد (مثلاً گرفتن اطلاعات یک محصول، ثبت سفارش و غیره).
عملیات (Operations) پشتیبانی شده: برای هر نقطه پایانی، چه نوع درخواستهای HTTP (مانند GET، POST، PUT، DELETE) قابل استفاده است.
پارامترها: چه ورودیهایی (مانند شناسه محصول، کلید API) باید در درخواستها ارسال شوند (در URL، بدنه درخواست، هدرها و غیره).
ساختار درخواستها (Request Bodies): اگر درخواستی دادهای را به سرور ارسال میکند، ساختار آن داده (مثلاً فرمت JSON یا XML) چگونه است و چه فیلدهایی دارد.
ساختار پاسخها (Response Bodies): API در پاسخ به درخواستها چه دادهای را برمیگرداند، ساختار آن چگونه است و چه فیلدهایی دارد. همچنین کدهای وضعیت HTTP (مانند 200 برای موفقیت، 400 برای خطای کاربر) نیز توصیف میشوند.
امنیت (Security): API از چه روشهای احراز هویتی (مانند کلید API، OAuth 2.0) استفاده میکند.
مزایای استفاده از OpenAPI:
مستندسازی خودکار: ابزارها میتوانند به طور خودکار مستندات API تعاملی و قابل فهم برای توسعهدهندگان را از فایلهای OpenAPI تولید کنند (مانند Swagger UI).
تولید کد: ابزارها میتوانند کدهای کلاینت (برای زبانهای برنامهنویسی مختلف) و حتی کدهای سرور را بر اساس فایل OpenAPI تولید کنند، که فرآیند ادغام با API را بسیار سریعتر و آسانتر میکند.
تست API: ابزارهای تست API میتوانند از فایلهای OpenAPI برای پیکربندی و اجرای تستهای خودکار استفاده کنند.
بهبود همکاری: یک توصیف استاندارد به تیمهای مختلف (توسعهدهندگان بکاند، فرانتاند، مستندسازان) کمک میکند تا درک یکسانی از API داشته باشند.
کشفپذیری API: استاندارد بودن OpenAPI به ابزارها و پلتفرمهای مختلف اجازه میدهد تا APIها را بهتر کشف و با آنها تعامل داشته باشند.
به طور خلاصه، OpenAPI یک زبان مشترک برای توصیف APIها است که فرآیند توسعه، مستندسازی، یکپارچهسازی و تست APIها را تسهیل میکند. پرشین ای پی آیدر بخش "پلاتفرم ها" از این استاندارد برای ارائه و مستندسازی APIهای خود استفاده میکند.