آموزش Web API در Asp.net Core 7

آموزش Web API در Asp.net Core 7
آموزش Web API در Asp.net Core 7

Web API چیست؟

اولین سوالی که به ذهن می رسد این است که "API چیست"؟

API مخفف Application Programming Interface است. API یک عامل نرم افزاری میانی است که به دو یا چند برنامه اجازه می دهد تا با یکدیگر تعامل داشته باشند.

حال سوال بعدی این است: “Web API چیست؟”

به زبان ساده می توان گفت که web API یک رابط برنامه نویسی کاربردی برای یک برنامه وب یا وب سرور است و از پروتکل HTTP برای برقراری ارتباط بین کلاینت و وب سایت ها برای دسترسی به داده ها استفاده می کند.

Asp.net core web API یک web API چند پلتفرمی است.

چرا Web API مورد نیاز است؟

کاربران می خواهد از دستگاه های مختلف مانند موبایل، مرورگر، دستگاه های گوگل و غیره به برنامه دسترسی داشته باشد. در این صورت Web API می تواند مفید باشد.

دستگاه های مختلف به Web API درخواست می دهند و Web API در قالب JSON پاسخ خواهد داد. اکثر دستگاه ها قادر به درک خروجی JSON هستند.

ASP.NET Core Web API چیست؟

ASP.NET Core Web API یک چارچوب قابل توسعه برای ساخت سرویس های مبتنی بر HTTP است که در پلتفرم های مختلف مانند وب، ویندوز، موبایل و غیره قابل دسترس است. Asp.net Core Web API کمابیش مانند برنامه وب ASP.NET Core MVC عمل می کند  با این تفاوت که به جای html،  داده ها را به عنوان پاسخ ارسال می کند. Asp.net Core Web API مانند یک وب سرویس یا سرویس WCF است اما فقط از پروتکل HTTP پشتیبانی می کند.

تفاوت بین API و REST API چیست؟

همه API ها REST نیستند، اما همه سرویس های REST،  API هستند. بنابراین بین API و REST API تفاوت های وجود دارد:

  • API مخفف (Application Program Interface) و REST مخفف (Representational State Transfer) است.
  • وظیفه API اتصال یک برنامه به برنامه دیگر است. می توان گفت که یک رابط بین دو برنامه است. از طرف دیگر، REST API با استفاده از پروتکل های URL و HTTP ارتباط بین کلاینت و سرور را ایجاد می کند.
  • API های REST به طور گسترده برای تبادل داده بین سیستم ها یا برنامه ها استفاده می شوند. API خدماتی را برای برقراری ارتباط با سایر خدمات بدون نیاز به دانستن نحوه پیاده سازی آنها ارائه می دهد.
  • API مجموعه ای از توابع و رویه هایی است که به یک برنامه اجازه می دهد تا به ویژگی های برنامه دیگر دسترسی پیدا کند.
  • API از عملیات CRUD (Create Read Update Delete) پشتیبانی می کند زیرا با HTTP verb های  GET، PUT، POST و DELETE کار می کند.
  • REST API یک سرویس وب است که فقط از پروتکل HTTP پشتیبانی می کند در حالی که API از پروتکل HTTP/HTTPS پشتیبانی می کند.
  • وب سرویس از XML پشتیبانی می کند در حالی که API از XML و JSON پشتیبانی می کند.

تفاوت gRPC و REST چیست؟

سرویس های REST از یک مدل درخواست و پاسخ ارتباطی استفاده می کنند که معمولاً بر روی HTTP 1.1 ساخته شده است، اما gRPC  چارچوبی برای پیاده سازی API های RPC از طریق HTTP/2 است که نسبت به HTTP 1.1 هم سریع تر و هم ایمن تر است.

برای آشنایی بیشتر با gRPC دوره آموزش gRPC در Asp Core را مشاهده کنید.

سر فصل های دوره آموزش asp.net core 7 Web API

ما در این دوره Web API را در قالب یک پروژه todo از مقدماتی تا پیشرفته با .net7 به شما آموزش خواهیم داد. برخی از موضوعات مهمی که در این دوره به آن‌ ها خواهیم پرداخت عبارتند از:

  • معماری تمیز
  • ایجاد دیتابیس با روش کد فرست با استفاده از EF Core 7
  • استفاده از FluentApi
  • اعتبارسنجی داده ها با استفاده از FluentValidation در asp.net core Web API
  • استفاده از AutoMapper در asp.net core Web API
  • استفاده از الگوی CQRS در asp.net core Web API
  • آموزش الگوی Unit of Work در asp.net core Web API
  • احراز هویت JWT در asp.net core Web API
  • مستندسازی API ها با استفاده از swagger در asp.net core Web API
  • استفاده از Memory Caching در asp.net core Web API
  • ورژن بندی API ها در asp.net core Web API
  • کانفیگ Json در asp.net core Web API
  • مدیریت خطا در asp.net core Web API
  • کار با Filter ها در asp.net core Web API
  • کار با Postman

جهت شرکت در دوره آموزش مقدماتی تا پیشرفته Web API در Asp.net Core لینک زیر را دنبال نمایید:

آموزش جامع Web API در Asp.net Core