اگر می خواهید وارد به حوضه API ها شوید و یک API برای خود ایجاد کنید، در ادامه برای شما نحوه ساخت API را شرح خواهیم داد. همانطور که می دانید، API ها به توسعه دهندگان این امکان را می دهند تا با استفاده از اجرای یک پلتفرم، کار خود را با استفاده از اجرای نرم افزار سرعت بخشند. این امر کمک می کند تا میزان ایجاد کد برای توسعه دهندگان کد کم شود و همچنین به ایجاد سازگاری بیشتر در بین برنامه ها برای همان پلتفرم کمک می کند.
در طی مراحل نحوه ساخت API، سه مرحله اساسی را پوشش خواهیم داد:
اولین قدم در ساخت API، نحوه طراحی API است. شما می خواهید بدانید API شما چه مشکلاتی را باید حل کند، سپس تعیین کنید که چه نقاط پایانی و داده هایی مورد نیاز است. تصمیماتی که در مرحله طراحی می گیرید باید در جایی ثبت شود. توصیف REST API ها بیشتر با تعریف OpenAPI انجام می شود، بنابراین طراحی API شما به معنی ایجاد یک سند OpenAPI برای آن است.
طراحی API ابتدا اطمینان می دهد که مشکلات مناسب را به روش صحیح حل کرده اید. بنابراین، با تیم خود، برنامه ریزی API خود را شروع کنید. نقاط پایانی (یا منابعی) که انتخاب می کنید پایه و اساس یک API هستند. شما باید تصمیم بگیرید که API برای نشان دادن چه چیزی و چه نام های توصیفی باید استفاده کنید. قطعاً بهترین شیوه های URL API برای دنبال کردن وجود دارد، اما مهمترین آن ها این است که شما در تمام مراحل نحوه ساخت API، سازگاری خود را حفظ کنید.
هر منبع که به یک endpoint تبدیل شده است می تواند با استفاده از روش های HTTP روی آن ها اعمال، انجام دهد. برای مثال، می توانید از API خود به مخاطبین دسترسی پیدا کنید. برای بازیابی لیستی از افراد، می توانید از روش GET HTTP در endpoint به نام مخاطبین استفاده کنید. برای افزودن مخاطبین جدید، از روش POST در همان endpoint، به همراه فیلد های تماس از پیش تعیین شده استفاده کنید.
تجسم این نقاط پایانی، زمینه ها و سایر جزئیات در طی مراحل نحوه ساختAPI، می تواند مفید باشد. به شما کمک می کند تا اسناد OpenAPI را بدون حفظ نحو، ایجاد کنید. روش ها و پاسخ های HTTP موجود را به سرعت برای هر یک از نقاط پایانی خود مشخص کرده و شرح دهید.
یکی از مهمترین جنبه های طراحی API، بازخورد دادن به آن طرح و سپس اصلاح آن است. برای بسیاری از افراد، دیدن نقاط پایانی برای ارائه بازخورد کافی نیست. در حالت ایده آل، آن ها نمونه های پاسخ را بررسی کرده و حتی ممکن است نمونه اولیه نحوه ساخت و مصرف API را شروع کنند.
سرور API ساختگی، تقلیدی از ظاهر سرور API نهایی شما است. سرور به خودی خود واقعی است، اما موقت است و به این معنی است که با داده های جعلی پاسخ می دهد. این می تواند در طول فرایند طراحی با ارائه پاسخ به درخواست ها مورد استفاده قرار گیرد. شما حتی می توانید داده های ساختگی پویا داشته باشید، در حالی که سرور ساختگی داده ها را با نوع مورد انتظار فیلد پاسخ، تراز می کند. همچنین می توان API های ساختگی را به طور کامل در سرور های عمومی مرحله بندی کرد و به شما امکان می دهد از تعداد بیشتری از افراد بازخورد بگیرید.
برای دیدن سرور API ساختگی، این مثال spotlilght todos را مشاهده کنید که داده ها را به این صورت برمی گرداند:
{
"id": 66226,
"name": "new todo",
"completed": false,
"completed_at": null,
"created_at": "2020-11-03T09:20:47.035Z",
"updated_at": "2020-11-03T09:20:47.035Z"
}
بعد از اینکه سند OpenAPI خود را برای نحوه ساخت API جدید خود تهیه کردید، یک سرور ساختگی ایجاد کنید. چند روش برای انجام این کار وجود دارد که یکی از آن ها شامل استفاده از ابزار خط فرمان منبع باز مانند سرور API Prism است. برای تعیین نقاط پایانی، روش ها و داده ها، سند OpenAPI شما طول می کشد. سپس از داده های ساختگی متناسب با انواع مشخص شده در API استفاده می کند. با استفاده از سرور های API ساختگی Stoplight، می توانید Prism را به فرایند طراحی و آزمایش API خود متصل کنید.
هنگامی که سند OpenAPI خود را با دقت ساختید، زمان طی کردن مراحل نحوه ساخت API واقعی فرا رسیده است. برای کدگذاری API می توانید از زبان ترجیحی خود استفاده کنید. برای خوانایی، پایتون را با استفاده از چارچوب Flask نشان می دهیم. نکته در اینجا این است که به شما ایده بدهیم که کد API چگونه خواهد بود. قالب کلی یک نقطه پایانی با استفاده از Flask به شکل زیر است:
@api.route('/YOUR-ENDPOINT', methods=['YOUR-HTTP-ACTION'])
def YOUR-HTTP-ACTION_YOUR-ENDPOINT():json.dumps(RELEVANT_RESOURCE)
from flask import Flask, json
companies = [{"id": 1, "name": "Company One"}, {"id": 2, "name": "Company Two"}]
api = Flask(__name__)
@api.route('/companies', methods=['GET'])
def get_companies():
return json.dumps(companies)
if __name__ == '__main__':
api.run()
اینجاست که می توانید به پایگاه داده خود نیز متصل شوید. از آنجا که این در Python است، می توانید از SQLite، یک موتور پایگاه داده محبوب SQL استفاده کنید. هر منطق کاربردی اضافی شما نیز با Flask (یا هر چارچوب دیگری که ترجیح می دهید) کار می کند.
یکی دیگر از گزینه های ممکن در نحوه ساخت API، این است که از connexion برای ترسیم نقاط پایانی سند OpenAPI خود به توابع پایتون، استفاده کنید. یکی از مزایای تعاریف قابل خواندن توسط ماشین، این است که می توانید از آن ها برای بسیاری از ابزار ها در طول چرخه عمر مانند mocking، تأیید اعتبار از طرف سرور، آزمایش قرارداد و تولید اسناد استفاده کنید. برای انواع ابزار های دیگر که به شما در این راه کمک می کند، مانند ژنراتور های SDK، می توانید openAPI.Tools را بررسی کنید.
منبع: blog.stoplight