برنامه نویسی

قوانین طراحی REST API – انجمن DEV

چرا نوشتن طرح‌های REST-API تمیز مهم است

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

نوشتن طرح‌های REST API تمیز به چند دلیل حیاتی است:

  • قابلیت استفاده پیشرفته: یک API خوب طراحی شده بصری و آسان برای استفاده است، و آن را برای توسعه دهندگان در تمام سطوح مهارت قابل دسترسی می کند. این یکپارچگی را ساده می کند و منحنی یادگیری را کاهش می دهد.

  • قابلیت نگهداری بهبود یافته: کد پاک با آسان‌تر کردن شناسایی و رفع اشکالات، افزودن ویژگی‌ها و مقیاس‌بندی API، قابلیت نگهداری را افزایش می‌دهد. این امر ثبات طولانی مدت را تضمین می کند و هزینه های توسعه را کاهش می دهد.

  • افزایش امنیت: یک API با ساختار مناسب با مکانیسم‌های احراز هویت و مجوز مناسب به جلوگیری از دسترسی غیرمجاز، نقض داده‌ها و سایر آسیب‌پذیری‌های امنیتی کمک می‌کند.

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

  • کاهش زمان توسعه: مشخصات API به خوبی تعریف شده و مستندات واضح با حذف حدس و گمان و کاهش نیاز به آزمایش گسترده، توسعه سریعتر را امکان پذیر می کند. این باعث صرفه جویی در زمان و منابع ارزشمند توسعه می شود.

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

  • افزایش قابلیت استفاده مجدد: یک API خوب طراحی شده را می توان در چندین برنامه مورد استفاده مجدد قرار داد و باعث کاهش تکرار و ارتقای ثبات می شود. این امر توسعه را ساده می کند و در زمان و تلاش صرفه جویی می کند.

  • اسناد بهبود یافته: طرح‌های پاک را آسان‌تر می‌توان مستند کرد و به توسعه‌دهندگان نشان می‌دهد که چگونه API کار می‌کند و چگونه از آن به طور موثر استفاده کنند. این سردرگمی را کاهش می دهد و پذیرش را بهبود می بخشد.

قوانین URI

ساختار یک url به صورت زیر است

scheme :// authority / path [?query][#fragment]

برای مثال

https://soccer.api.org/teams/dortmund/players?name=Rona#2

دو نوع منابع وجود دارد

  1. منابع مجموعه: شامل مجموعه ای از منابع است. می توان آن را به یک رابطه پایگاه داده تشبیه کرد

  2. منابع Singleton: شامل یک منبع واحد است. می توان آن را به یک رکورد پایگاه داده تشبیه کرد.


هنگام طراحی Rest-Api

1 منابع مجموعه باید جمع باشد

+ soccer.api.org/teams/dortmond
- soccer.api.org/team/dortmond
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2 منابع Singleton باید منفرد باشند و می توان آنها را با شناسه منحصربفرد که نشان دهنده منبع در سیستم پایگاه داده در پشت api است جایگزین کرد.

+soccer.api.org/teams/dortmond/players/58c1aaae-205a-11ef-aeea-a64c74618950
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3 شماره اسلش های عقبی به جلو در URI شما

+soccer.api.org/teams/dortmond/players
-soccer.api.org/teams/dortmond/players/
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

4 استفاده کنید خط تیره بجای تاکید می کند برای بهبود خوانایی APIها

+ api.blog.com/blogs/this-is-my-blog
- api.blog.com/blogs/this_is_my_blog
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

5 حروف کوچک ترجیح داده می شوند حروف بزرگ در مسیرهای URI

+ api.example.com/my-api/my-resource
- api.example.com/My-Api/My-Resource
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

6 شماره پسوند فایل در URI ها

+ api.example.com/api/resource
- api.example.com/api/resource.json
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

7 نام تابع CRUD باید نه در URI ها استفاده شود

+ DELETE api.example.com/api/resource
- GET api.example.com/api.resource/delete
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

8 جزء پرس و جو از URI ها فقط می تواند در منابع مجموعه استفاده شود

+ GET /users?role=admin
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

9 جزء query یک URI باید برای صفحه بندی نتایج مجموعه استفاده شود

+ GET /users?pageSize=25&pageStartIndex=50
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

قوانین روش HTTP

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

PUT می تواند هم برای ایجاد و هم برای به روز رسانی یک منبع استفاده شود. با این حال، پیروی از بهترین شیوه‌ها، معمولاً استفاده از POST برای ایجاد منابع جدید و PUT برای جایگزینی کامل منابع موجود توصیه می‌شود.

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا