پرووید
منو

آموزش توسعه Web API پیشرفته در ASP.NET Core 6

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: پیشرفتهمدت زمان: 09:03:13تعداد ویدئوها: 138فایل های پروژه: ناموجود
قیمت:۵٬۱۹۹٬۰۰۰ تومان

آموزش توسعه Web API پیشرفته در ASP.NET Core 6 یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، توسعه کامل و پیشرفته Web API های مبتنی بر ASP.NET Core 6 است که با نام اصلی ASP.NET Core 6 Web API Deep Diveاز شرکت Pluralsight منتشر شده است.

سبک معماری REST چیست؟

در سال 2000 آقای روی فیلدینگ (Roy Fielding) سبک معماری REST که سرنام عبارت Representational State Transfer می باشد را به منظور روشی برای طراحی وب سرویس ها معرفی کرد. REST یک سبک معماری و یا architectural style برای ساخت سیستم های توزیع شده بر اساس hypermedia می باشد. سبک معماری REST مستقل از پروتکلی است که با استفاده از آن پیاده‌سازی می‌شود. به عبارت دیگر این سبک معماری لزوماً وابسته به HTTP نمی باشد. با این وجود بسیاری از پیاده سازی های REST API امروز از پروتکل HTTP استفاده می‌کنند. یکی از مزیت های اصلی استفاده کردن از سبک معماری REST و پروتکل HTTP استفاده کردن از استانداردهای باز می باشد. به عبارت دیگر این ترکیب باعث می‌شود که پیاده سازی API و یا اپلیکیشن های کلاینت به یکدیگر وابسته نباشد. به عنوان مثال یک وب سرویس REST می‌تواند با تکنولوژی ASP.NET ایجاد شود و اپلیکیشن‌های کلاینت می‌توانند از هر زبان و یا مجموعه ابزارهایی برای تولید کردن HTTP request ها و دریافت کردن HTTP response ها از API توسعه داده شده استفاده کنند.

استفاده کردن از resource ها در طراحی یک API که با سبک معماری REST توسعه داده شده است بسیار مهم می باشد. به عبارت دیگر در توسعه این گونه از API ها بایستی تمرکز را بر روی موجودیت های تجاری و یا business entity های بگذاریم که web API آنها را به بیرون منتشر می کند. به عنوان مثال؛ در یک سیستم تجارت الکترونیک entity های اصلی ممکن است مواردی از قبیل customer و order که به ترتیب مشتری و یا سفارش می باشند، باشد. ایجاد کردن یک order جدید می‌توانند با ارسال کردن یک request از نوع HTTP POST که شامل اطلاعات مربوط به آن order و یا سفارش است انجام بپذیرد. ضمناً HTTP response نیز می تواند مشخص کننده این باشد که سفارش و یا order ارسال شده با موفقیت ثبت گردیده است یا خیر.

Validation in a RESTful World - نمونه ای از بخش Validating Data and Reporting Validation Errors در آموزش توسعه Web API پیشرفته در ASP.NET Core 6
نمونه ای از بخش «Validating Data and Reporting Validation Errors» در آموزش توسعه Web API پیشرفته در ASP.NET Core 6

در صورت امکان بایسیتی تلاش شود که URI های مربوط به resource ها در قالب اسم های زبان انگلیسی پیاده سازی شوند. فعل ها نمایانگر عملیات و یا operation های هستند که بر روی هر resource قابل انجام می‌باشد. مورد دیگر که در طراحی REST API ها بسیار اهمیت دارد، استفاده کردن از HTTP method ها برای پیاده سازی عملیات مربوط به API می باشد. در پروتکل HTTP تعدادی از متد های مختلفی وجود دارند که هر کدام از آنها به یک request معنا و یا semantic اضافه می کنند. معمول ترین HTTP method هایی که توسط web API های RESTful مورد استفاده قرار می‌گیرند، شامل GET و POST و PUT و PATCH و DELETE هستند.

  • فعل GET: از GET به منظور بازیابی کردن یک نمایش ویا representation مربوط به یک resource در یک URI خاص قرار گرفته است استفاده می شود. بدنه response دریافت شده از سرور شامل جزئیات مربوط به resource درخواست داده شده خواهد بود.
  • فعل POST: از POST به منظور ایجاد کردن یک resource جدید در URI مشخص شده استفاده می کنیم. بدنه اینگونه از request ها شامل جزئیات مربوط به resource جدید که در حال اضافه کردن آن هستیم می باشد. دقت کنید که از فعل POST می توانیم به منظور انجام عملیاتی که به ایجاد کردن یک resource جدید منجر نمی‌شوند نیز استفاده کنیم.
  • فعل PUT: از این فعل برای ایجاد کردن و یا جایگزین کردن یک resource که در یک URI خاص قرار گرفته است استفاده می کنیم. بدنه اینگونه از request ها شامل اطلاعات مربوط به resource است که قصد اضافه کردنو یا به روز رسانی کردن آن را داریم.
  • فعل PATCH: از PATCH به منظورعملیات به روز رسانی جزئی و یا partial update بر روی یک resource استفاده می کنیم. بدنه اینگونه ها از request ها شامل مجموعه تغییراتی هستند که می بایستی بر روی یک resource اعمال بشوند.
  • فعل DELETE: از DELETE به منظور حذف کردن یک resource که در یک URI خاص قرار گرفته است استفاده می کنیم.

طراحی قراردادهای Web API در ASP.NET Core 6

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

در ASP.NET Core 6 می توان ساختار ورودی ها، خروجی ها و عملیات مربوط به منابع را به گونه ای طراحی کرد که نیازهای مصرف کنندگان API بهتر پوشش داده شوند. بررسی نحوه ویرایش Resource ها و طراحی Outer Facing Contract در این آموزش به شما کمک می کند درباره چگونگی ارائه قابلیت های سرویس تصمیم های دقیق تری بگیرید. این رویکرد به ویژه در API هایی اهمیت دارد که چندین کلاینت یا بخش مختلف یک سیستم از آن ها استفاده می کنند و به رفتارهای مشخص و پایدار نیاز دارند.

مدیریت داده ها و قابلیت های جستجو در Web API

در Web API های پیشرفته، همیشه کافی نیست که یک درخواست تمام اطلاعات یک منبع را بدون امکان انتخاب یا مرتب سازی دریافت کند. قابلیت هایی مانند Filtering، Searching، Paging و Sorting به مصرف کنندگان اجازه می دهند داده های موردنیاز خود را دقیق تر انتخاب کنند و نتایج را در قالب مناسب تری دریافت نمایند. این امکانات به ویژه هنگام کار با مجموعه داده های بزرگ کاربرد دارند و به طراحی API هایی انعطاف پذیرتر و متناسب با نیازهای مختلف کمک می کنند.

Revisiting the Contract Between Client and Server - www.provid.ir - نمونه ای از بخش Improving Reliability with Advanced Content Negotiation در آموزش توسعه Web API پیشرفته در ASP.NET Core 6
نمونه ای از بخش «Improving Reliability with Advanced Content Negotiation» در آموزش توسعه Web API پیشرفته در ASP.NET Core 6

Data Shaping نیز امکان کنترل ساختار و فیلدهای داده ای را فراهم می کند که در پاسخ API ارائه می شوند. با ترکیب این قابلیت ها می توان درخواست هایی طراحی کرد که اطلاعات مرتبط تری برگردانند و از ارسال داده های غیرضروری جلوگیری شود. در این دوره با روش های پشتیبانی از این قابلیت ها در ASP.NET Core 6 آشنا می شوید و یاد می گیرید چگونه امکانات جستجو و مدیریت خروجی را در طراحی سرویس های وب در نظر بگیرید.

افزایش کارایی و قابلیت اطمینان Web API در ASP.NET Core 6

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

Content Negotiation نیز به API امکان می دهد قالب مناسب پاسخ را بر اساس قابلیت ها و ترجیحات اعلام شده در درخواست انتخاب کند. از سوی دیگر، مدیریت Concurrency برای کنترل تغییرات هم زمان روی منابع اهمیت دارد و می تواند به جلوگیری از بازنویسی ناخواسته داده ها کمک کند. در این آموزش با این مفاهیم پیشرفته آشنا می شوید تا بتوانید تصمیم های فنی دقیق تری برای بهبود رفتار، کارایی و مدیریت درخواست های هم زمان در API های توسعه داده شده با ASP.NET Core 6 اتخاذ کنید.

این آموزش پیشرفته ASP.NET Core 6 برای چه کسانی مناسب است؟

این دوره برای توسعه دهندگانی طراحی شده است که با مفاهیم پایه ASP.NET Core و توسعه Web API آشنایی دارند و می خواهند دانش خود را در زمینه طراحی سرویس های پیشرفته گسترش دهند. اگر در پروژه های واقعی با نیازهایی مانند کنترل خروجی داده ها، مدیریت خطاهای اعتبارسنجی، بهبود کارایی درخواست ها یا هماهنگ کردن تغییرات هم زمان روبه رو هستید، آشنایی با این مباحث می تواند در انتخاب راهکارهای مناسب به شما کمک کند.

سطح پیشرفته دوره باعث می شود آشنایی قبلی با مفاهیم توسعه وب، ساختار درخواست و پاسخ HTTP و کار با داده ها برای بهره گیری بهتر از مطالب مفید باشد. موضوعات این آموزش به شما کمک می کنند جنبه های مختلف طراحی API را در کنار یکدیگر بررسی کنید و فراتر از پیاده سازی ساده Endpoint ها فکر کنید. هدف، تقویت درک فنی شما از تصمیم هایی است که بر قابلیت استفاده، پایداری و عملکرد Web API تأثیر می گذارند.

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

فصل اول: مقدمه این دوره آموزشی
  • مقدمه
فصل دوم: مقدمه ای بر REST
  • مقدمه
  • پیش نیازهای دوره آموزشی
  • بررسی Framework ها و Tooling ها
  • استفاده کردن از ASP.NET Core MVC برای توسعه RESTful API ها
  • آموزش عملی: معرفی اپلیکیشن این دوره آموزشی
  • آموزش عملی: استفاده ازPostman و Import کردن Request Collection مورد نظر
  • معرفی سبک معماری REST
  • بررسی Constraint ها در REST
  • بررسی Richardson Maturity Model
  • جمع بندی
فصل سوم: طراحی کردن Outer Facing Contract
  • مقدمه
  • طراحی کردن Outer Facing Contract
  • بازبینی Routing
  • آموزش عملی: تبعیت کردن از اصول طراحی URI
  • چرا Status Code ها مهم هستند؟
  • آموزش عملی: بازگرداندن Status Code های صحیح
  • تفاوت Error ها و Fault ها و مباحث مربوط به Availability در API
  • آموزش عملی: هندل کردن Fault ها و جلوگیری کردن از انتشار جزییات پیاده سازی
  • کار کردن با Content Negotiation وFormatter ها
  • آموزش عملی: پشتیبانی کردن از XML
  • مقایسه Outer Facing Model و Entity Model
  • پشتیبانی کردن از HEAD
  • آموزش عملی: پشتیبانی کردن از HEAD
  • جمع بندی
فصل چهارم: ویرایش کردن Resource ها
  • مقدمه
  • بررسی مفاهیم Method Safety و Method Idempotency
  • آموزش عملی: بررسی کردن و رفع مشکل کردن از Method های POST
  • مزایای استفاده کردن از Attribute مربوط به ApiController
  • آموزش عملی: ایجاد کردن Child Resource ها به همراه Parent Resource
  • آموزش عملی: ایجاد کردن یک کالکشن از Resource ها
  • آموزش عملی: کار کردن با Array Key ها و Composite Key ها
  • آموزش عملی: هندل کردن POST به یک Resource تک
  • انجام Full Update با PUT و مقایسه آن با Partial Update با PATCH
  • آموزش عملی: کار کردن با PUT
  • آموزش عملی: پشتیبانی کردن از PATCH
  • استفاده از PUT و PATCH برای ایجاد Resource ها و یا عملیات Upserting
  • آموزش عملی: Upserting با PUT
  • آموزش عملی: Upserting با PATCH
  • بررسی کردن عملیات مخرب
  • آموزش عملی: پشتیبانی کردن از OPTIONS
  • آموزش عملی: بررسی کردن Input Formatter ها
  • بررسی کردن Http Method ها و کاربرد هرکدام از آن ها
  • جمع بندی
فصل پنجم: اعتبارسنجی کردن و یا Validate کردن داده ها و گزارش دادن Validation Error ها
  • مقدمه
  • انجام Validation در یک دنیای RESTful
  • آموزش عملی: انجام Validation بر روی ورودی برای استفاده از Data Annotation
  • آموزش Validation و Attribute مربوط به ApiController
  • آموزش عملی: سفارشی سازی کردن Error Message ها
  • گزارش دادن Validation Error ها
  • آموزش عملی: سفارشی سازی کردن Response های مربوط به Validation Error ها
  • آموزش عملی: اعتبار سنجی کردن ورودی در زمان به روز رسانی کردن یک Resource با PUT
  • آموزش عملی: انجام Input Validation در سطح کلاس با استفاده از IValidatableObject
  • آموزش عملی: انجام Input Validation در سطح کلاس با استفاده ازیک Attribute سفارشی
  • آموزش عملی: Validate کردن ورودی در زمان به روزرسانی کردن یک Resource با استفاده از PATCH
  • آموزش عملی: برگرداندن ValidationProblems از درون Action های Controller
  • آموزش عملی: اعتبار سنجی کردن Input در زمان Upserting کردن با PATCH
  • روش های دیگر: استفاده کردن از کتابخانه Fluent Validation
  • جمع بندی
فصل ششم: پشتیبانی کردن از Filtering و Searching
  • مقدمه
  • انتقال داده ها به API با استفاده از پارامتر های Action ها
  • انجام Filtering و Searching
  • آموزش عملی: انجام Filtering بر روی Collection Resource ها
  • آموزش عملی: انجام Searching با استفاده از Collection Resource ها
  • بررسی مفهوم Deferred Execution
  • آموزش عملی: گروه بندی کردن پارامترهای Action ها به درون یک آبجکت تک
  • جمع بندی
فصل هفتم: پشتیبانی کردن ازPaging
  • مقدمه
  • انجام عملیات Paging با استفاده از Collection Resource ها
  • آموزش عملی: انجام عملیات Paging با استفاده از Collection Resource ها
  • برگرداندن Pagination Metadata ها
  • آموزش عملی: بهبود قایلیت استفاده مجدد با استفاده از کلاس PagedList-T
  • آموزش عملی: برگرداندن Pagination Metadata ها
  • جمع بندی
فصل هشتم: پشتیبانی کردن از Sorting
  • مقدمه
  • انجام عملیات مرتب سازی و یا Sorting بر روی Collection Resource ها
  • آموزش عملی: انجام عملیات مرتب سازی و یا Sorting بر روی Collection Resource ها
  • ایجاد کردن یک Property Mapping Service
  • آموزش عملی: ایجاد کردن یک Property Mapping Service
  • آموزش عملی: ایجاد کردن یک متد ApplySort قابل استفاده مجدد
  • آموزش عملی: اضافه کردن دستور OrderBy به لینک های Pagination
  • آموزش عملی: لحاظ کردن خطاهای مربوط به مصرف کننده در روال Sorting
  • جمع بندی
فصل نهم: پشتیبانی کردن از Data Shaping
  • مقدمه
  • انجام Data Shaping بر روی Resource ها
  • آموزش عملی: ایجاد کردن یک Extension Methodبرای Data Shaping
  • آموزش عملی: انجام Data Shaping بر روی Collection Resource ها
  • آموزش عملی: انجام Data Shaping بر روی یک Resource تک
  • آموزش عملی: در نظر گرفتن خطاهای مصرف کننده در زمان Data Shaping
  • بررسی گزینه های دیگر
  • جمع بندی
فصل دهم: بررسی و پیاده سازی HATEOAS
  • مقدمه
  • بررسی HATEOAS و یا Hypermedia as the Engine of Application State
  • آموزش عملی: مقدمه ای بر پشتیبانی کردن از HATEOAS
  • آموزش عملی: پیاده سازی HATEOAS برای یک Resource تک
  • آموزش عملی: پیاده سازی HATEOAS بعد از عملیات POST
  • آموزش عملی: پیاده سازی HATEOAS برای یک Collection Resource
  • استفاده کردن از HATEOAS برای لینک های Pagination
  • آموزش عملی: استفاده کردن از HATEOAS برای لینک های Pagination
  • آموزش عملی: استفاده کردن از مفهوم Self-discoverability به همراه یک Root Document
  • بررسی گزینه های دیگر
  • جمع بندی
فصل یازدهم: بهبود قابلیت اعتماد پذیری و یا Reliability با استفاده از مفاهیم پیشرفته Content Negotiation
  • مقدمه
  • بازبینی کردن Contract بین Client و Server
  • بررسی HATEOAS و ارتباط آن با Content Negotiation
  • آموزش عملی: بررسی HATEOAS و Content Negotiation
  • محکم کردن Contract بین Client و Server با استفاده از Vendor-specific Media Type ها
  • آموزش عملی: کار کردن با Vendor-specific Media Type ها بر روی خروجی و یا Output
  • استفاده کردن از Vendor-specific Media Type ها ورودی و یا Input
  • آموزش عملی: استفاده کردن از Vendor-specific Media Type ها ورودی و یا Input
  • آموزش عملی: بهبود انتخاب Resource Representation با استفاده از یک ActionConstraint
  • انچام ورژن بندی در دنیای RESTful
  • جمع بندی
فصل دوازدهم: مقدمه ای بر Cache کردن Resource ها
  • مقدمه
  • پشتیبانی کردن از Cacheable Constraint
  • بررسی انواع Cache در Http Cache
  • استفاده از Attribute مربوط به Response Cache و همچینن Middleware مربوط به آن
  • آموزش عملی: اضافه کردن هدر های Cache به یک Response
  • آموزش عملی: اضافه کردن یک Cache Store با ResponseCaching
  • آموزش عملی: استفاده کردن از Cache Profile ها برای اعمال قوانین یکسان به Response های متفاوت
  • بررسی Expiration Model
  • بررسی Validation Model
  • بررسی دستورات Cache-Control
  • جمع بندی
فصل سیزدهم: پشتیبانی کزدن از HTTP Cache در API های توسعه داده شده با ASP.NET Core
  • مقدمه
  • استفاده کردن از ETag ها
  • آموزش عملی: اضافه کردن قابلیت اضافه کردنETag ها
  • آموزش عملی: پیکربندی های هدر Cache بصورت سراسری
  • آموزش عملی: پیکربندی های هدر Cache در سطح Response
  • آموزش عملی: کار کردن با Response Representation های متغییر
  • آموزش عملی: کار کردن با ETag ها و Validation Model
  • بررسی Cache Store و Content Delivery Network ها
  • بررسی Cache Invalidation
  • جمع بندی
فصل چهاردهم: پشتیبانی از همروندی و یا Concurrency
  • مقدمه
  • پشتیبانی از Concurrency در دنیای RESTful
  • آموزش عملی: پشتیبانی کردن از Concurrency
  • جمع بندی
دیدگاه کاربران

دیدگاه ها

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