The Design of Web APIs, 2nd Edition
آیا تا به حال با APIهایی سر و کار داشتهاید که شما را گیج کردهاند یا استفاده از آنها کابوس بوده است؟ در دنیای امروز که همه چیز به هم متصل است، طراحی یک API عالی دیگر یک مزیت نیست، بلکه یک ضرورت است! کتاب "The Design of Web APIs, Second Edition" راهنمای جامع شما برای ساخت APIهایی است که نه تنها نیازهای فنی را برآورده میکنند، بلکه تجربهای بینظیر برای توسعهدهندگان فراهم میآورند.
کتاب "The Design of Web APIs, Second Edition" با هدف توانمندسازی شما در طراحی APIهای وب جدید یا بهبود APIهای موجود نوشته شده است تا آنها به درستی عمل کنند؛ همهکاره، امن، کارآمد باشند؛ محدودیتهای متنی را در نظر بگیرند؛ و تغییرات آتی را تسهیل کنند. این کتاب تمامی جنبههای طراحی API را پوشش میدهد و شما را با طرز فکر، فرآیندها و ابزارهایی تجهیز میکند تا در بلندمدت و در مقیاس بزرگ، هنگام کار بر روی چندین API و با سایر طراحان API، کار خود را به طور موثر انجام دهید.
- فصل 2: توضیح میدهد که چگونه قابلیتهایی را که یک API باید برای برآورده کردن کامل و کافی الزامات ارائه دهد، شناسایی کنیم.
- فصل 3: APIهای REST را معرفی میکند و به شما آموزش میدهد که چگونه قابلیتهای API را برای شناسایی عناصر مورد نیاز برای طراحی یک API REST مشاهده کنید، منابع، روابط آنها و عملیات آنها.
- فصل 4: نحوه نمایش عملیات با HTTP را بررسی میکند، از جمله طراحی مسیر منبع، انتخاب متدهای HTTP و وضعیتهای HTTP، و انتخاب مکانها برای دادهها در درخواستها و پاسخهای HTTP. همچنین سبک معماری REST و مزایای آن برای طراحی API را مورد بحث قرار میدهد.
- فصل 5: مدلسازی دادهها را مورد بحث قرار میدهد، از جمله منابع، پارامترهای مسیر، پارامترهای پرسوجو، و هدرها و بدنههای درخواست و پاسخ.
- فصل 6: نشان میدهد که چگونه عملیات HTTP را با استفاده از مشخصات OpenAPI توصیف کنیم.
- فصل 7: توضیح میدهد که چگونه دادهها را در اسناد OpenAPI با JSON Schema توصیف کنیم.
- فصل 8: مفاهیم کاربرپسندی و قابلیت همکاری برای APIها را معرفی میکند و سپس بر دادهها تمرکز میکند. توضیح میدهد که چگونه دادهها را انتخاب، تعریف، نوعگذاری، سازماندهی و نامگذاری کنیم تا آماده استفاده، سازگار و استاندارد باشند.
- فصل 9: توضیح میدهد که چگونه عملیات را واضح و قابل حدس کنیم؛ ورودیهای آسان برای ارائه و خروجیهای آماده استفاده داشته باشیم؛ صفحهبندی، فیلتر و مرتبسازی را فعال کنیم؛ و خطاها را با ظرافت مدیریت کنیم.
- فصل 10: نشان میدهد که چگونه توالیهای عملیات را مختصر، با حداقل خطا و انعطافپذیر طراحی کنیم.
- فصل 11: ایجاد یک یا چند API، نامگذاری APIها و فعال کردن مرور API با HTTP و هایپرمدیا را مورد بحث قرار میدهد.
- فصل 12: طراحی APIهای امن را پوشش میدهد، از جمله حساسیت دادهها، رفتار عملیاتی امن، یکپارچگی دادهها و کنترل دسترسی با محدودهها.
- فصل 13: بر طراحی کارآمد API تمرکز دارد که کاربران نهایی را آزار نمیدهد یا بر زیرساخت تأثیر منفی نمیگذارد. بهینهسازی حجم داده، کشگذاری، پردازش چندین عنصر و در نظر گرفتن APIهای بهینهشده جداگانه را مورد بحث قرار میدهد.
- فصل 14: بررسی میکند که چگونه دادهها، معماری و کسبوکار بر طراحی ما تأثیر میگذارند. به مدیریت فایلها، عملیات طولانی، وبهوکها و انواع APIهای غیر از REST میپردازد.
- فصل 15: به تغییر یک API میپردازد، از جمله نحوه جلوگیری از شکستن مصرفکنندگان، نسخهبندی و طراحی قابل توسعه.
- فصل 16: توضیح میدهد که چگونه تصمیمات طراحی را با اطمینان بگیریم و دستورالعملهای طراحی API کاربرپسند ایجاد کنیم.
- فصل 17: بهینهسازی اسناد OpenAPI را برای سازگاری و سادهسازی نویسندگی، از جمله تعریف عناصر قابل استفاده مجدد که در APIها به اشتراک گذاشته میشوند، مورد بحث قرار میدهد.
- فصل 18: اتوماسیون دستورالعملها را برای اطمینان از سازگاری و رهایی ذهن ما از جزئیات توصیف میکند. این مورد را با Spectral، یک ابزار اعتبارسنجی API، نشان میدهد.
- فصل 19: بحث میکند که چگونه مصنوعات طراحی API را که ایجاد کردهایم، برای ساخت یک کیت مرجع طراحی که کار ما را ساده میکند، پیادهسازی دقیق را تضمین میکند و از مراحل بعدی چرخه حیات API پشتیبانی میکند، بهبود بخشیم.