4fcb

آموزش RESTful API و عملیات CRUD در Asp Core

کدسل برنامه نویسی وب Asp.Net Core

لینک کوتاه https://codecell.ir/course/4fcb
مدرس: سهراب قیصری
تعداد ویدیوها: 3
مدت زمان دوره: 00:56:27
وضعیت دوره: به اتمام رسیده
آخرین بروزرسانی: 1401/04/27
به اشتراک گذاری
نظرات
2
دیگر آموزش های مدرس:
آموزش ایجاد RESTful API در Asp Core

در سال های اخیر، مشخص شده است که HTTP فقط برای ارائه صفحات HTML نیست ویک پلتفرم قدرتمند برای ساخت Web API ها با استفاده از تعداد انگشت شماری از افعال (GET، POST، و غیره) به همراه چند مفهوم ساده مانند URI و هدر است. ASP Core Web API مجموعه ای از کامپوننت هاست که برنامه نویسی HTTP را ساده می کند. Web API در ASP Core به طور خودکار جزئیات انتقال سطح پایین HTTP را مدیریت می کند. Web API در Asp Core بسیار انعطاف پذیر و به راحتی قابل گسترش است. سبک معماری REST ثابت کرده است که روشی مؤثر برای استفاده از HTTP است - اگرچه مطمئناً این تنها رویکرد معتبر برای HTTP نیست.

REST چیست؟

REpresentational State Transfer یه به اختصار REST یک سبک معماری برای ارائه استانداردهای بین سیستم های کامپیوتری در وب است که ارتباط سیستم ها با یکدیگر را آسان تر می کند. سیستم‌های سازگار با REST، که اغلب سیستم‌های RESTful نامیده می‌شوند، نگرانی‌های مشتری و سرور را از هم جدا می‌کنند.

REST بر رابطه Client-Server متکی است. این اساساً به این معنی است که برنامه کلاینت و برنامه سرور باید بتوانند به طور جداگانه و بدون وابستگی به یکدیگر تکامل یابند.

REST بدون حالت یا stateless است. این بدان معناست که ارتباط بین کلاینت و سرور همیشه حاوی تمام اطلاعات مورد نیاز برای انجام درخواست است. هیچ حالت سشن ی در سرور وجود ندارد و به طور کامل در سمت کلاینت نگهداری می شود.

REST یک اینترفیس یکنواخت(uniform interface) بین اجزاء فراهم می کند.

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

CRUD چیست؟

چهار عمل ایجاد، خواندن، به‌روزرسانی و حذف(Create, Read, Update, Delete) یا به اصطلاح CRUD چهار عملکرد اساسی هستند که مدل‌ها باید بتوانند انجام دهند.
CRUD یک کلمه مخفف است که از دنیای برنامه نویسی کامپیوتر آمده است و به چهار عملکردی اشاره دارد که برای اجرای یک برنامه ذخیره سازی پایدار ضروری هستند: ایجاد، خواندن، به روز رسانی و حذف. ذخیره سازی پایدار به هر وسیله ذخیره سازی داده ای اطلاق می شود که پس از خاموش شدن دستگاه حالت را حفظ می کند، مانند هارد دیسک یا درایو حالت جامد. در مقابل، حافظه با دسترسی تصادفی و حافظه پنهان داخلی دو نمونه از حافظه فرار هستند، آنها حاوی داده هایی هستند که در صورت قطع برق پاک می شوند.
هنگامی که ما در حال ساخت API هستیم، باید مدل های ما چهار نوع عملکرد اساسی را ارائه دهند. مدل باید قادر به ایجاد، خواندن، به روز رسانی و حذف منابع باشد. یک مدل باید حداکثر توانایی انجام این چهار عملکرد را داشته باشد تا کامل شود. اگر عملی را نتوان با یکی از این چهار عملیات توصیف کرد، باید به طور بالقوه مدلی برای خود باشد.
پارادایم CRUD در ساخت برنامه های کاربردی وب رایج است، زیرا چارچوبی جالب برای یادآوری توسعه دهندگان از نحوه ساخت مدل های کامل و قابل استفاده فراهم می کند. اصطلاح CRUD اولین بار توسط جیمز مارتین در کتاب مدیریت محیط پایگاه داده در سال 1983 رایج شد.

CRUD و دیتابیس

مخفف CRUD به عملیات اصلی اشاره دارد که توسط پایگاه های داده پیاده سازی می شوند. هر حرف CRUD می تواند به یک عبارت استاندارد زبان پرس و جو ساختاریافته (SQL) نگاشت شود.

SQL

CRUD

INSERT

Create

SELECT

Read

UPDATE

Update

DELETE

Delete


اگر چه پایگاه‌ داده های رابطه‌ ای یک لایه پایدار رایج در برنامه‌های کاربردی نرم‌ افزاری هستند، لایه‌های پایداری متعدد دیگری نیز وجود دارند. عملکرد CRUD را می توان به عنوان مثال با پایگاه داده های اسناد، پایگاه داده های شی، پایگاه های داده XML، فایل های متنی یا فایل های باینری پیاده سازی کرد.
توجه: برخی از سیستم‌های کلان داده UPDATE را پیاده‌سازی نمی‌کنند، اما تنها دارای یک INSERT (ژورنال) هستند که هر بار یک نسخه کاملاً جدید از شی را ذخیره می‌کنند.

عملیات CRUD و RESTful API

مخفف CRUD نیز در بحث RESTful API ها ظاهر می شود. هر حرف در CRUD به یک روش پروتکل انتقال ابرمتن (HTTP) نگاشت می شود:

HTTP

CRUD

Post

Create

GET

Read

PUT

Update

DELETE

Delete

در HTTP، روش‌های GET (خواندن)، PUT (ایجاد و بروزرسانی) و DELETE (حذف) عملیات CRUD هستند زیرا معنای مدیریت ذخیره‌سازی دارند، به این معنی که به عامل کاربر اجازه می‌دهند مستقیماً حالات منابع هدف را دستکاری کنند. از طرف دیگر، روش POST یک عملیات فرآیندی است که دارای مفاهیم target-resource-specific است که معمولاً از محدوده عملیات CRUD فراتر می رود.

کاربرد کلاس ControllerBase در ایجاد web API در Asp Core

کنترلرهای Web API در Asp Core معمولاً باید از کلاس ControllerBase مشتق شوند و نه از کلاس Controller. کنترلری که از ControllerBase مشتق شده باشد از view ها پشتیبانی می کند، بنابراین برای مدیریت صفحات وب است نه درخواست های Web API. اگر کنترلری باید از view ها و API های وب پشتیبانی کند، باید از کلاس Controller مشتق شود.

کلاس ControllerBase ویژگی ها و متدهای زیادی را ارائه می دهد که برای مدیریت درخواست های HTTP مفید هستند.به عنوان مثال،متد CreatedAtAction یک کد وضعیت 201 را بر می گرداند، سایر این متدها به شرح زیر است:

کاربرد اتربیوت ApiController در ایجاد Web API در Asp Core

اتربیوت [ApiController] را می‌توان بر روی یک کنترلر اعمال کرد تا رفتارهای خاص مبتنی بر API زیر را فعال کند:

ارسال درخواست به Web API در Asp Core با ابزار Postman

Postman یک پلت فرم API برای توسعه دهندگان برای طراحی، ساخت، آزمایش و تکرار API های خود است. از آوریل 2022، Postman گزارش می دهد که بیش از 20 میلیون کاربر ثبت شده و 75000 API باز دارد و بزرگترین هاب API عمومی جهان را تشکیل می دهد.

ما در این آموزش برای ارسال درخواست به Web API در Asp Core از ابزار Postman استفاده خواهیم کرد و سیستم Restful API در Asp Core را تست خواهیم کرد.

برای آموزش پیشرفته Web API در Asp.net Core می توانید دوره آموزش Web API در Asp.net Core 7 را تهیه نمایید.

سرفصل های دوره آموزش Restful Api و عملیات CRUD در Asp Core

  • ایجاد دیتابیس با روش کد فرست در Asp Core
  • پیکربندی و تنظیم جداول با استفاده از روش Fluent Api در Asp Core
  • ایجاد Restful Api و پیاده سازی عملیات CRUD در Asp core
  • ایجاد سرویس های مورد نیاز جهت ارتباط با دیتابیس
  • ارسال درخواست به Restful Api با ابزار Postman و مشاهده نتایج در Asp core

پیش نیازهای دوره آموزش RESTful API و انجام عملیات CRUD در Asp Core 6

برای شروع دوره آموزش RESTful API و عملیات CRUD در Asp Core 6 ابتدا نیاز است که دوره های آموزش ایجاد دیتابیس با روش کد فرست در Asp Core 6 و  استفاده Fluent Api در Asp Core 6 را دنبال نمایید.

نتیجه گیری

خدمات RESTful در مقایسه با خدمات SOAP بسیار سریعتر هستند و پهنای باند بسیار کمتری مصرف می کنند. ASP.NET Core ساخت سرویس های RESTful را آسان و راحت می کند. در این آموزش به بررسی نحوه ایجاد یک سرویس ساده RESTful با استفاده از ASP Core پرداخته ایم.

دریافت سورس پروژه آموزش RESTful API و انجام عملیات CRUD در Asp Core 6

فهرست ویدیوها
مدت زمان دوره: 00:56:27
01

ایجاد دیتابیس با استفاده از روش کد فرست و Fluent API در Asp Core

00:13:42
02

ایجاد سرویس عملیات Crud برای Restful API در Asp Core

00:11:39
03

آموزش ایجاد Restful Api و عملیات CRUD با استفاده از Web Api در Asp core

00:31:06

پرسش های متداول

REST API (همچنین به عنوان RESTful API شناخته می شود) یک رابط برنامه نویسی کاربردی (API یا web API) است که با محدودیت های سبک معماری REST مطابقت دارد و امکان تعامل با سرویس های وب RESTful را فراهم می کند. REST مخفف REpresentational State Transfer است و توسط دانشمند کامپیوتر روی فیلدینگ (Roy Fielding) ایجاد شده است.

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

REST انتخاب بهتری برای سرویس‌های ساده و مبتنی بر CRUD است، زیرا REST روش‌های HTTP (GET، POST، PUT، و DELETE) را تغییر می‌دهد. همچنین به دلیل سبک بودن و منحنی یادگیری کوچکتر محبوب است. از طرف دیگر SOAP دارای استانداردهایی برای امنیت، آدرس دهی و غیره است.

به زبان ساده، تا آنجا که به API ها مربوط می شود، تفاوتی بین REST و RESTful وجود ندارد. REST مجموعه ای از محدودیت ها است. RESTful به یک API اشاره دارد که به آن محدودیت ها پایبند است  که می توان از آن در وب سرویس ها، برنامه ها و نرم افزارها استفاده کرد.

برای برخی، REST به معنای سروری است که اسناد JSON را با مشتری از طریق HTTP مبادله می کند. این نه تنها یک تعریف کامل نیست، بلکه همیشه هم درست نیست. مشخصات REST نیازی به HTTP یا JSON ندارد.

برخلاف SOAP، REST نیازی به استفاده از XML برای ارائه پاسخ ندارد. می‌توانید سرویس‌های وب مبتنی بر REST را پیدا کنید که داده‌ها را به صورت CSV،JSON و RSS تولید می‌کنند.

SOAP نمی تواند از REST استفاده کند زیرا یک پروتکل است  اما REST می تواند از خدمات وب SOAP استفاده کند زیرا یک مفهوم است و می تواند از هر پروتکلی مانند HTTP، SOAP استفاده کند.

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

REST API (همچنین به عنوان RESTful API شناخته می شود) یک رابط برنامه نویسی کاربردی (API یا web API) است که با محدودیت های سبک معماری REST مطابقت دارد و امکان تعامل با سرویس های وب RESTful را فراهم می کند.

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

ASP.NET Web API یک پلت فرم ایده آل برای ایجاد سرویس های RESTful است.

مقالات آموزش برنامه نویسی مدرس

Response Caching در ASP.NET Core

Response Caching یک مکانیزم ذخیره سازی پاسخ سرور توسط مرورگر یا سایر کلاینت ها است. با استفاده از Response Caching در Asp.net Core می توانیم عملکرد و کارایی سیستم را بالا ببریم.

305 0 1402/10/22

Output Caching در ASP.NET Core 8.0

Output Caching یک ویژگی جدید است که از زمان .NET 7 معرفی شده است. این ویژگی به ما این امکان را می دهد که به راحتی یک کش پاسخ برای Web API خود بدون پیاده سازی IMemoryCache راه اندازی کنیم.

353 0 1402/10/14

الگوی طراحی زنجیره مسئولیت در سی شارپ

الگوی زنجیره مسئولیت یا Chain of Responsibility Design Pattern یک الگوی طراحی رفتاری(behavioral design pattern) است که اجازه می‌دهد یک درخواست در امتداد زنجیره‌ای از کنترل‌کننده‌های بالقوه ارسال شود تا زمانی که درخواست مناسب برای پردازش آن را پیدا کند.

337 2 1402/10/01

ViewComponent در ASP.NET Core

در ASP.NET Core با استفاده از ViewComponent ها می توان اجزای ماژولار، قابل استفاده مجدد، قابل نگهداری و مقیاس پذیر برای ساخت برنامه های کاربردی وب ایجاد کرد. در این مقاله به نحوه ایجاد و فراخوانی ViewComponent در Asp.net core پرداخته ایم.

797 2 1402/05/15

تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها

تطبیق الگو یا Pattern Matching در net7 یک تکنیک قدرتمند برای تجزیه و تحلیل و دستکاری داده ها بر اساس ساختار آن ها است. تطبیق الگو یا Pattern Matching به توسعه دهندگان اجازه می دهد تا مقادیر را با یک الگوی خاص مطابقت دهند و اقدامات مربوطه را انجام دهند.

479 1 1402/04/05

تزریق وابستگی در ASP.NET Core

تزریق وابستگی (DI) یک الگوی طراحی نرم افزاری است که امکان ایجاد برنامه های کاربردی و ماژولار را فراهم می کند.. در .NET Core تزریق وابستگی یا Dependency injection یک ویژگی مهم است که می تواند برای ساده سازی توسعه برنامه، بهبود تست پذیری و کاهش پیچیدگی کد مورد استفاده قرار گیرد.

1٬161 1 1402/02/04

ضروری ترین کتابخانه های NuGet برای ASP.NET Core

در این مقاله مهمترین،ضروری ترین و پرکاربردترین کتابخانه های NuGet که هر توسعه‌ دهنده‌ ASP.NET Core باید برای توسعه بهتر و کاهش زمان مورد نیاز برای برنامه ‌های خود از آن استفاده کنند را مورد بررسی قرار داده ایم.

1٬113 1 1401/12/29

الگوی طراحی Factory در سی شارپ

الگوهای طراحی یکی از مهمترین جنبه های طراحی و معماری نرم افزار است. Factory Method یک الگوی طراحی ایجادی است که یک رابط برای ایجاد اشیاء در یک سوپر کلاس فراهم می‌کند. ما در این مقاله الگوی Factory Method Design در سی شارپ را بررسی می کنیم.

1٬139 1 1401/10/28

مقایسه List و Array در سی شارپ

آرایه و لیست در سی شارپ هر دو به عنوان مجموعه ای از مقادیر عمل می کنند، اما در نحوه ذخیره محتوای خود در حافظه و نحوه دسترسی به آنها متفاوت هستند. در این مقاله Benchmark و کارایی List<T> با سایز داینامیک، List<T> با سایز ثابت و Array ها را بررسی می کنیم.

1٬657 2 1401/09/01

LinkedList در سی شارپ

LinkedList یا لیست پیوندی در سی شارپ یک ساختار داده خطی است که عنصر را در مکان غیر پیوسته ذخیره می کند. LinkedList شامل گره هایی است که هر گره حاوی یک فیلد داده و یک مرجع (پیوند) به گره بعدی در لیست است. در سی شارپ، LinkedList یا لیست پیوندی یک نوع مجموعه جنریک است.

1٬593 0 1401/08/13

Garbage Collection در دات نت

به طور کلی، Garbage Collection (GC) یا جمع آوری زباله در .Net چیزی نیست جز به دست آوردن مجدد حافظه اختصاص داده شده به اشیایی که در حال حاضر در هیچ بخشی از برنامه ما استفاده نمی شوند. ما در این مقاله Garbage Collection را در سی شارپ بررسی خواهیم کرد.

2٬300 3 1401/03/30

.NET Core چیست؟

.Net (با تلفظ «دات نت») یک چارچوب نرم افزاری کامپیوتری مدیریت شده رایگان و منبع باز برای سیستم عامل های ویندوز، لینوکس و macOS است. این پروژه در درجه اول توسط کارمندان مایکروسافت از طریق دات نت توسعه یافته و تحت مجوز MIT منتشر شده است.

2٬083 2 1401/03/16

پشته(Stack) در سی شارپ

پشته یا Stack در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. پشته یک ساختار داده LIFO یا Last-In-First-Out است، به این معنی که آخرین موردی که در پشته قرار می گیرد اولین موردی است که از پشته خارج می شود.

1٬776 0 1401/03/09

صف (Queue) در سی شارپ

صف (Queue) در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. Queue یک ساختار داده first-in-first-out یا FIFO است که به این معنی است که اولین مورد اضافه شده به صف اولین موردی است که حذف می شود.

1٬780 0 1401/02/30

تفاوت Hashtable و Dictionary در سی شارپ

در سی شارپ از Hashtable و Dictionary می توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. با این تفاوت که Hashtable و Dictionary عناصر را به عنوان جفت Key/Value ذخیره می کنند.در این مقاله به تفاوت های Hashtable و Dictionary پرداخته شده است.

1٬511 1 1401/02/23

Dictionary در سی شارپ

در سی شارپ از دیکشنری ها (Dictionary) می‌توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Dictionary می تواند عناصر را به عنوان جفت Key/Value ذخیره کند.Key ها باید منحصر به فرد و نمی توانند null باشند. Value ها می توانند تکراری یا null باشند.

1٬835 3 1401/02/17

Hashtable در سی شارپ

از Hashtable می‌توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Hashtable می تواند عناصر را به عنوان جفت Key/Value به عنوان جایگزینی برای استفاده از Index ذخیره کند.

1٬475 5 1401/02/14

Redirect درخواست (ریدایرکت) در asp.net core

در برنامه های ASP.NET Core برای تغییر مسیر(ریدایرکت) و Redirect به یک URL خاص روش های مختلفی وجود دارد. در این مقاله با این تکنیک ها و کدهای مورد نیاز برای تغییر مسیر یک درخواست در ASP.NET Core آشنا می شویم.

2٬087 5 1401/02/12

تبدیل enum به لیست انتخابی در asp.net core

در این آموزش ما بوسیله Reflection ها در سی شارپ و asp.net core یک enum را به لیست انتخابی یا SelectListItem تبدیل خواهیم کرد و بوسیله تگ select در بوت استرپ 5 نمایش می دهیم.

1٬500 3 1401/02/03

نحوه ارسال ایمیل در asp و c#

امروزه ارسال ایمیل به امری ضروری در پروژه های وب تبدیل شده است.از ارسال ایمیل در asp می توان در بخش های تایید حساب کاربری،بازیابی رمز عبور،ایمیل مارکتینگ،ارسال خبرنامه و ... استفاده نمود.در این آموزش نحوه ارسال ایمیل در asp core و سی شارپ پیاده سازی گردیده است.

2٬118 5 1401/02/03
نظرات

برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید