پرووید
منو

آموزش پیاده سازی مباحث پیشرفته RESTful API در ASP.NET Core 3

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: پیشرفتهمدت زمان: 03:52:41تعداد ویدئوها: 75فایل های پروژه: ناموجود
قیمت:۳٬۹۹۹٬۰۰۰ تومان

آموزش پیاده سازی مباحث پیشرفته RESTful API در ASP.NET Core 3 یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی پیاده سازی مباحث پیشرفته RESTful API در ASP.NET Core 3 است که با نام اصلی Implementing Advanced RESTful Concerns with ASP.NET Core 3 از شرکت Pluralsight منتشر شده است.

Web API چیست؟

همانطور که از نام آن مشخص است یک Web API یک API است که بر روی Web سوار می‌ شود می‌ تواند توسط پروتکل HTTP مورد دسترسی قرار بگیرند دقت کنید که Web API یک مفهوم است و نه یک تکنولوژی. ما می توانیم Web API را با تکنولوژی های متفاوتی از قبیل جاوا و دات نت ایجاد کنیم.

Sorting Resource Collections - نمونه ای از بخش Sorting Resource Collections در آموزش پیاده سازی مباحث پیشرفته RESTful API در ASP.NET Core 3
نمونه ای از بخش «Sorting Resource Collections» در آموزش پیاده سازی مباحث پیشرفته RESTful API در ASP.NET Core 3

برای مثال Web API مربوط به توییتر به ما امکان این را می دهد تا با استفاده از روشی برنامه نویسی وار به داده هایی برای خواندن و نوشتن دسترسی پیدا کنیم و با استفاده از این Web API قابلیت هایی را در درون برنامه های خود استفاده کنیم. توصیه می کنیم که از آموزش رایگان ساختن سرویس ها با ASP.NET Web API نیز دیدن کنید.

REST چیست؟

سبک معماری REST که مخفف REpresentational State Transfer میباشد یک سبک معماری و یا architectural style است که استانداردهایی را برای سیستم های کامپیوتری موجود بر روی شبکه فراهم می کند تا بتوانند با یکدیگر به شکل موثر تر و آسان تری ارتباط برقرار کنند. سیستم هایی که از سبک معماری REST استفاده می‌کنند سیستم های RESTful نامیده می شوند و با ویژگی هایی از قبیل stateless بودن و یا تفکیک کردن وظایف کلاینت و یا سرور شناخته می شوند.

Supporting the Cacheable Constraint - نمونه ای از بخش Getting Started with Caching Resources در آموزش پیاده سازی مباحث پیشرفته RESTful API در ASP.NET Core 3
نمونه ای از بخش «Getting Started with Caching Resources» در آموزش پیاده سازی مباحث پیشرفته RESTful API در ASP.NET Core 3

ضمناً توصیه می کنیم که از سری اول این آموزش با عنوان آموزش طراحی و پیاده سازی RESTful API در ASP.NET Core 3 نیز دیدن کنید.

پیاده‌سازی قابلیت‌های پیشرفته RESTful API

با گسترش یک RESTful API، مدیریت مجموعه‌های بزرگ داده و پاسخ‌گویی به نیازهای متنوع کلاینت‌ها به توجه بیشتری نیاز دارد. قابلیت‌هایی مانند صفحه‌بندی، مرتب‌سازی و انتخاب بخش‌های موردنیاز از داده‌ها، به مصرف‌کنندگان کمک می‌کنند اطلاعات را در قالب مناسب‌تری دریافت کنند. این امکانات می‌توانند حجم پاسخ‌ها را کنترل‌پذیرتر کنند و استفاده از منابع سرویس را بهبود دهند. در ASP.NET Core 3 می‌توان این قابلیت‌ها را در طراحی API در نظر گرفت تا رفتار سرویس با نیازهای واقعی مصرف‌کنندگان هماهنگ‌تر باشد.

طراحی پیشرفته API تنها به ارائه عملیات پایه روی منابع محدود نمی‌شود؛ نحوه نمایش داده‌ها، مدیریت پاسخ‌ها و هماهنگی میان درخواست‌های هم‌زمان نیز اهمیت دارد. انتخاب راهکار مناسب برای هر یک از این مسائل به نوع داده‌ها، الگوی مصرف API و نیازهای برنامه بستگی دارد. این آموزش برای توسعه‌دهندگانی مناسب است که با مفاهیم پایه REST آشنا هستند و می‌خواهند دانش خود را درباره قابلیت‌های تکمیلی API در ASP.NET Core 3 گسترش دهند.

صفحه‌بندی و مرتب‌سازی داده‌ها در API

زمانی که یک API مجموعه‌ای بزرگ از منابع را برمی‌گرداند، ارسال تمام داده‌ها در یک پاسخ ممکن است باعث افزایش حجم پاسخ و دشوارتر شدن پردازش اطلاعات در سمت کلاینت شود. Paging یا صفحه‌بندی به مصرف‌کننده اجازه می‌دهد داده‌ها را در بخش‌های کوچک‌تر دریافت کند. این روش برای رابط‌هایی که اطلاعات را به‌صورت صفحه‌ای نمایش می‌دهند و سرویس‌هایی که با مجموعه‌های بزرگ داده کار می‌کنند، کاربرد دارد و می‌تواند کنترل بیشتری بر تعداد نتایج هر درخواست فراهم کند.

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

Data Shaping و HATEOAS در طراحی API

Data Shaping به این موضوع می‌پردازد که کلاینت بتواند مشخص کند کدام بخش از اطلاعات یک منبع برای او لازم است. به‌جای ارسال تمام ویژگی‌های یک شیء در هر پاسخ، API می‌تواند امکان محدود کردن داده‌های خروجی را فراهم کند. این رویکرد در شرایطی مفید است که مصرف‌کنندگان مختلف به بخش‌های متفاوتی از اطلاعات نیاز دارند. طراحی مناسب Data Shaping می‌تواند پاسخ‌ها را متناسب‌تر با نیاز کلاینت کند، هرچند نحوه پیاده‌سازی آن باید با قرارداد API هماهنگ باشد.

HATEOAS یکی از مفاهیم مرتبط با REST است که بر ارائه پیوندهای مرتبط در پاسخ‌ها تأکید دارد تا کلاینت بتواند از طریق اطلاعات دریافتی، برخی از اقدامات یا مسیرهای بعدی را شناسایی کند. با استفاده از این رویکرد، پاسخ API می‌تواند علاوه بر داده‌های منبع، اطلاعاتی درباره ارتباط‌ها و عملیات مرتبط نیز ارائه دهد. آشنایی با Data Shaping و HATEOAS به توسعه‌دهندگان کمک می‌کند درباره انعطاف‌پذیری پاسخ‌ها و نحوه هدایت مصرف‌کنندگان در میان منابع API تصمیم‌های دقیق‌تری بگیرند.

Caching و Content Negotiation در ASP.NET Core API

Caching یا کش کردن، راهکاری برای نگهداری موقت پاسخ‌ها یا داده‌های قابل استفاده مجدد است تا در شرایط مناسب، نیاز به پردازش یا دریافت دوباره اطلاعات کاهش پیدا کند. در APIها، استفاده درست از کش می‌تواند به بهبود کارایی و کاهش درخواست‌های تکراری کمک کند. با این حال، انتخاب سیاست کش باید با توجه به ماهیت داده‌ها و میزان تغییر آن‌ها انجام شود؛ زیرا اطلاعاتی که مرتب تغییر می‌کنند، به مدیریت متفاوتی نسبت به داده‌های نسبتاً ثابت نیاز دارند.

Content Negotiation به فرایند انتخاب قالب مناسب برای نمایش پاسخ بر اساس قابلیت‌ها یا ترجیحات اعلام‌شده در درخواست مربوط می‌شود. این قابلیت به سرویس اجازه می‌دهد نحوه ارائه داده‌ها را با نیازهای کلاینت هماهنگ کند. در کنار آن، پشتیبانی از HTTP Cache می‌تواند از سازوکارهای استاندارد HTTP برای مدیریت پاسخ‌های قابل کش استفاده کند. شناخت این مفاهیم به توسعه‌دهندگان کمک می‌کند APIهایی طراحی کنند که در زمینه ارائه محتوا و مدیریت پاسخ‌ها انعطاف‌پذیرتر باشند.

مدیریت Concurrency در RESTful API

Concurrency زمانی اهمیت پیدا می‌کند که چند درخواست به‌صورت هم‌زمان یا در فاصله زمانی کوتاه روی یک منبع اثر بگذارند. برای مثال، ممکن است دو کلاینت یک منبع را دریافت کنند و سپس هر دو بخواهند آن را به‌روزرسانی کنند. اگر سرویس بدون بررسی وضعیت فعلی منبع تغییرات را بپذیرد، ممکن است یکی از تغییرات ناخواسته جایگزین دیگری شود. به همین دلیل، طراحی API باید شرایط به‌روزرسانی هم‌زمان و نحوه تشخیص تغییرات ناسازگار را در نظر بگیرد.

مدیریت مناسب Concurrency به حفظ یکپارچگی داده‌ها در سرویس‌هایی کمک می‌کند که چند مصرف‌کننده به منابع مشترک دسترسی دارند. این موضوع به‌ویژه در عملیات به‌روزرسانی اهمیت دارد، زیرا وضعیت منبع ممکن است از زمان دریافت اطلاعات توسط کلاینت تغییر کرده باشد. آشنایی با روش‌های مدیریت هم‌زمانی در ASP.NET Core API به شما کمک می‌کند رفتار سرویس را در برابر درخواست‌های متداخل بهتر طراحی کنید و احتمال از دست رفتن تغییرات را کاهش دهید.

سرفصل مطالب آموزش ویدئویی پیاده سازی RESTful API در ASP.NET Core 3 پیشرفته

فصل اول: مقدمه دوره آموزشی

  • مقدمه دوره آموزشی

 فصل دوم: پشتیبانی از Paging برای Collection Resource ها

  •  مقدمه
  • جایگاه این بسته آموزشی
  •  بررسی Tooling ها
  • پیاده‌سازی برنامه مورد نظر
  •  مرور سبک معماری REST
  •  بررسی مکانیزم Paging برای Collection Resource ها
  •  پیاده سازی مکانیزم Paging برای Collection Resource ها
  • برگرداندن Pagination Metadata
  • پیاده سازی کلاس جنریک PagedList برای افزایش قابلیت استفاده مجدد
  •  پیاده سازی بحث Pagination Metadata ها
  • جمع بندی

فصل سوم: مرتب سازی Resource Collection ها

  • مقدمه
  • بررسی مرتب سازی در Collection Resource ها
  •  پیاده سازی مکانیزم مرتب سازی در Collection Resource ها
  •  بررسی یک Property Mapping Service
  •  پیاده سازی یک Property Mapping Service
  •  ایجاد کردن متد ApplySort قابل استفاده مجدد
  •  اضافه کردن قسمت OrderBy به Pagination Link ها
  • در نظر گرفتن ارورهای مربوط به Client در زمان انجام عملیات مرتب سازی
  • جمع بندی

فصل چهارم: پیاده سازی Data Shaping

  •  مقدمه
  • بررسی Data Shaping برای Resource ها
  • پیاده سازی یک Extension Method قابل استفاده مجدد برای Data Shaping
  • پیاده سازی Data Shaping برای Collection Resource ها
  •  پیاده سازی Data Shaping برای یک Resource تک
  •  در نظر گرفتن خطاهای Client در رابطه با Data Shaping
  • بررسی گزینه‌های دیگر برای انجام Data Shaping
  • جمع بندی

فصل پنجم: بررسی و پیاده سازی HATEOAS

  • مقدمه
  •  بررسی Hypermedia as the Engine of Application State
  • پیاده سازی عملی HATOEAS
  • پیاده سازی HATOEAS برای یک Resource تک
  • پیاده سازی HATOEAS در زمان عملیات POST
  • پیاده‌سازی HATOEAS برای Collection Resource ها
  • استفاده از HATOEAS برای Pagination Link ها
  • استفاده از HATOEAS و پیاده سازی آن در Pagination Link ها
  • استفاده از HATOEAS برای پیاده سازی Self-discoverability با استفاده از یک Root Document
  • دیگر روش ها و گزینه های پیاده سازی HATOEAS
  • جمع بندی

فصل ششم: بهبود قابلیت اطمینان با استفاده از Content Negotiation

  • مقدمه
  • بررسی دوباره Contract بین Client و Server
  • بررسی ارتباط HATOEAS و Content Negotiation
  • پیاده سازی HATOEAS در کنار Content Negotiation
  • استفاده از Vendor-specific Media Type ها برای پیاده‌سازی Contract بین Client و Server
  • استفاده از Vendor-specific Media Type ها بر روی ورودی
  • پیاده سازی Vendor-specific Media Type ها در ورودی
  • پیاده‌سازی Versioning در RESTful APIها
  • جمع بندی

فصل هفتم: پیاده‌سازی Caching برای Resource ها

  • مقدمه
  • پشتیبانی از Cacheable Constraint
  • بررسی انواع مختلف Cache
  • استفاده از Response Cache و Middleware مربوط به آن
  • اضافه کردن Cache Header ها به Response
  • اضافه کردن Cache Store با استفاده از ResponseCaching Middleware
  • استفاده از Cache Profile ها برای اعمال قوانین یکسان برای Resource های مختلف
  • بررسی Expiration Model
  • بررسی Validation Model
  • استفاده از Cache-control Directive های مختلف
  • جمع بندی

فصل هشتم: پشتیبانی از HTTP Cacheدر ASP.NET Core API ها

  • مقدمه
  • پشتیبانی از ETag ها
  • پیاده سازی و تولید ETag ها
  • بررسی Global Cache Header و پیکربندی های آن
  • بررسی پیکربندی های Cache Header در سطح Resource
  • کار کردن با Representation های مختلف برای یک Resource یکسان
  • ارتباط ETag ها و Validation Model
  • بررسی Cache Store ها و Content Delivery Network ها
  • بررسی Cache Invalidation
  • جمع بندی

فصل نهم: پشتیبانی از Concurrency

  •  مقدمه
  • پشتیبانی از Concurrency در RESTful API ها
  • پیاده سازی Concurrency با استفاده از ETag ها
  •  جمع بندی
دیدگاه کاربران

دیدگاه ها

برای ثبت دیدگاه ابتدا وارد حساب کاربری شوید.
هنوز دیدگاهی برای این محصول تایید نشده است.