آموزش ایجاد و استفاده از Restful Api در Asp.Net و آموزش معماری پیاز

از پر تکرارترین کلمات در علم برنامه‌نویسی API است.  این سرور ریموت یک واسط برنامه‌نویسی است که بین کتاب‌خانه و سیستم عامل و برنامه‌های تحت وب می‌باشد که کاربر از آن‌ها در خواست سرویس می‌کند. در این دوره قصد داریم کمی بیشتر با این رابط آشنا شویم. با ما همراه باشید.

قیمت: 400,000 تومان 240,000 تومان

X
15 : 32 : 29
55 جلسه
10 فصل
2 سال پشتیبانی

آموزش ایجاد و استفاده از Restful Api در Asp.Net و آموزش معماری پیاز

از پر تکرارترین کلمات در علم برنامه‌نویسی API است.  این سرور ریموت یک واسط برنامه‌نویسی است که بین کتاب‌خانه و سیستم عامل و برنامه‌های تحت وب می‌باشد که کاربر از آن‌ها در خواست سرویس می‌کند. در این دوره قصد داریم کمی بیشتر با این رابط آشنا شویم. با ما همراه باشید.

 

api

Api چیست؟

Api برگرفته از «رابط برنامه‌نویسی اپلیکیشن» (Application Programming Interface) می‌باشد. شاید اگر به تازگی وارد حوزه برنامه‌نویسی شده باشید با این واژه آشنایی نداشته باشید اما افرادی که به صورت حرفه‌ای در بازار کار برنامه نویسی مشغول به کار هستند این ابزار به یکی از پرکاربردترین ابزارهای روزانه برای آن‌ها تبدیل شده است. در مقالات قبلی در ارتباط با یو آی صحبت کردیم و اشاره کردیم که ui نوعی رابطه کاربری انسانی است به این معنا که یک شخص با نرم‌افزارهای کامپیوتری تعامل دارد. اینک می‌خواهیم اشاره کنیم که Api شبیه به ui نوعی رابط کاربری است با این تفاوت که به جای انسان سیستم‌های کامپیوتری با نرم‌افزارها در تعامل هستند. به نوعی Api یک سرور ریموت است. سرور ریموت بخشی از رایانه شماست که به منظور پردازش دستورات دریافتی بهینه‌سازی شده است. Api از مجموعه کدهای طراحی شده که تعامل بین نرم‌افزار و سیستم ‌های متفاوت را امکان‌پذیر می‌کند.

 

کاربردهای این سرور ریموت:

_ توسعه‌دهندگان به کمک این ابزار با میزان کد کمتر پلتفرمی ایجاد می‌کنند که به کمک آن نرم‌افزار طراحی شده با سرعت بیشتری اجرا گردد.


_ این سرور ریموت کمک می‌کند تا بین برنامه‌ها سازگاری بیشتری ایجاد شود. به گونه‌ای که اگر بخواهید قسمتی را به صفحه وب سایت یا نرم‌افزاری اضافه کنید نیازی به طراحی دوباره نیست. صرفاً به کمک ای پی آی می‌توانید به راحتی تغییرات را اعمال کنید.


_ ‏به کمک Apiها امنیت بیشتری برای دستگاه‌ها ایجاد شد. چرا که دسترسی به منابع را کاملا کنترل می‌کنند.


_ به منظور تعامل بیشتر بین اشیا، Apiها کمک می‌کنند تا موقعیت هر کدام از آن‌ها به خوبی مشخص گردد. جالب است که بدانید گوگل مپ به کمک این سرور ریموت ارائه شده است.

 

- این سرور ریموت‌ در تجارت بسیار با ارزش است. چرا که می‌تواند بین شما و همکاران‌تان به راحتی ارتباط برقرار کند.


_ به کمک داده‌ها می‌تواند کسب و کارهایی با درآمد عالی را گسترش دهند.

 

اما Rest چیست و چه ارتباطی با Api دارد؟

این واژه بر گرفته از representational state transfer در سال ۲۰۰۵ به عنوان راهی برای انتقال داده از طریق شبکه شناخته شد. به نوعی یک مدل معماری برای طراحی برنامه‌های کاربردی تحت وب می‌باشد. به کمک آن می‌توان ترکیبی از چندین مدل معماری بر پایه‌ی شبکه استفاده کرد. حال منظور از RESTful API استفاده از معماری‌های خاص به هدف برقراری ارتباط با سرورهای دیگر می‌باشد.

 

 

 چرا REST API ارائه شد؟

 چرا REST API ارائه شد؟

استخراج اطلاعات روندی بسیار پیچیده و طولانی است که صرفاً از طریق API امکان‌پذیر نیست و به ابزارها و متدهای دیگری نیاز دارد. REST API یک مجموعه‌ای از اطلاعات درخواست کاربر را می‌سنجد مقادیر متناسبی از شی را برای ‌کلاینت ارسال می‌کند.

چگونه سیستم REST به RESTful تبدیل می‌شود:

اگر سیستم REST از شش مزیت برخوردار باشد به عنوان RESTful شناخته می‌شود:

 

۱. uniform interface

(دارای رابط یا اینترفیس یکنواخت) برای ارائه عکس العمل می‌بایست با استفاده از HTTP اطلاعات واضح و شفافی در اختیار کلاینت قرار دهیم. همچنین باید برای استفاده از روش‌های متفاوت از یک منبع بهره ببریم.

 

۲. client-server

( به معنای سرویس‌دهنده) این‌جا کلاینت در واقع کاربر یا نرم‌افزاری است که از API بهره می‌برد. در معماری API کلاینت جایگاهی در فرانت اند و سرور جایگاهی در بک اند دارد. (در مقالات قبلی به معرفی فرانت اند و بک اند پرداختیم.) این نوع معماری با کمترین میزان وابستگی بین کلاینت و سرور کمک می‌کند تا توسعه‌دهندگان به راحتی اپلیکیشن‌ها را توسعه دهند.

 

۳.code on demand

(قابلیت کد داشته باشد که ویژگی اختیاری است.)

 

۴. stateless

(بدون حالت باشد) هیچ داده‌‎ای نباید در زمان پردازش انتقال درخواست روی سرور ذخیره شود. بدین منظور به جای ذخیره کردن وضعیت کلاینت در سمت سرور، داده‌ها سمت خود کلاین ذخیره می‌شوند و در صورت درخواستی برای سرور ارسال می گردد. یکی از بهترین مزیت‌های این ویژگی این است که کلاینت به هیچ عنوان ضمن تغییرات صورت گرفته بر سرور با مشکل مواجه نمی‌گردد.

 

۵.layered system

(از سیستم لایه‌بندی شده برخوردار باشد.) در میان کلاینت و سروری که پاسخ یا عکس‌العملی ارائه می‌دهد ممکن است سرور های متفاوتی قرار بگیرد. یک سرور به عنوان لایه امنیتی، یک سرور به عنوان لایه کش و موارد دیگر. در چنین معماری کلاینت از وجود سرورهای واسطه اطلاعی ندارد. در ضمن هیچکدام از این لایه‌ها نباید به درخواست کلاینت یا عکس‌العمل ارائه شده تغییری ایجاد کنند.

 

۶.cacheable

(از کش یا حافظه پنهان برخوردار باشد.) این قابلیت کمک می‌کند تا کلاینت عکس العمل دریافتی را به صورت کش ذخیره کند. به نوعی می توان گفت REST یک معماری است که به توسعه‌دهنده کمک می‌کند تا به روش خاصی یک وب سرور را طراحی کند. اما
RESTful API یک سرویس است که می‌تواند این معماری را پیاده سازی کند. پسوند «ful» به معنی «داشتن قابلیت» REST یا تطابق داشتن با این سبک معماری است. به عبارتی دیگر این وب‌سرویس‌ها یا APIها از سبک و شیوه معماری REST استفاده می‌کنند.

 

اهداف استفاده از معماری Rest:

_ اصلی‌ترین هدف استفاده از معماری REST این است که برای برقراری بین ماشین‌ها به جای استفاده از متدهای پیچیده‌ای مانند CORBA، RPC یا SOAP از HTTP ساده بهره گرفت.


_ به جای هدر پروتکل htpp در url بتوان کوئری یا درخواست اعمال کرد.


_ به کمک معماری rest می‌توان url ها را واسطه قرار داد و به راحتی مسیرهای مد نظر را مشخص کرد.


_به کمک این ابزار می‌توان از کدهای htpp بهره گرفت.


_ بهتر است به جای اینکه از REST به عنوان یک تکنولوژی یاد کرد آن را به عنوان معماری در نظر داشته باشیم که در علم برنامه‌نویسی قابلیت اطمینان، کارایی قابلیت حمل، سادگی، نظارت و امکان مشاهده و انعطاف‌پذیری را افزایش می‌دهد.

 

چهار روش به‌کارگیری RESTful API

چهار روش به‌کارگیری RESTful API

- GET: به منظور دریافت یک آبجت


- POST: برای ساخت و ارسال یک آبجکت


- PUT: برای تغییر و جایگزین کردن یک آبجکت


- DELETE: برای حذف یک آبجکت

 

منظور از ابجکت همان درخواست یا کوئری به سرور می‌باشد.
به طور کلی، به همه این متُدها (عملیات) اصطلاحاً «CRUD» گفته می‌شود که سرنامی برای هر یک از کلمات «Update» ،«Reard» ،«Create» و «Delete» می‌باشد که در بانک اطلاعاتی با آن‌ها سروکار داریم.

GET یکی از ساده‌ترین و برای رایج‌ترین روش‌های استفاده از hptt است که صرفاً اجازه می‌دهد کاربر اطلاعات را بخواند و اجازه نوشتن و تغییر آنها را ندارد. بنابراین هیچ گونه خطری سرویس ارائه ‌دهنده را تهدید نمی‌کند. این متد صرفا یک سری اطلاعات را (معمولا به صورت رایگان) در اختیار کاربر قرار می‌دهد. در دو روش put و delete قبل از اجرا درخواست توسعه‌دهنده می‌بایست از طریق دریافت شناسه اختصاصی یا ثبت نام کردن در سرویس مد نظر اطلاعات او تایید شود. این دو روش معمولا در اپلیکیشن‌های تحت وب به کمک توسعه‌دهندگان قابل استفاده است.

 

در پایان

در این محتوا سعی کردیم شما را با این سرور ریمت آشنا کنیم. لازم است بدانید که با وجود کاربرد زیاد API ها خیلی از افراد روش درست و اصولی کاربرد آن‌ها را نمی‌دانند. در آموزش جامع ایجاد و استفاده از Restful Api در Asp.Net Core و آموزش معماری پیار ( Onion Architecture ) از تیم مدرسان برنامه نویسی کدیاد به تسلط کافی و لازم بر سرور ریموت خواهید رسید.

سرفصل های دوره

Api چیست ؟ ( ایجاد پروژه اول )
  • Api چیست ؟

  • روند کار Http

  • json

    منتشرشده 00:05:30
  • پست من

    منتشرشده 00:13:29
  • ایجاد پروژه اول

    منتشرشده 00:11:07
  • ساخت Database و افزودن سرویس

    منتشرشده 00:17:38
  • ایجاد API
  • ساخت اولین متد (HttpGet)

    منتشرشده 00:17:03
  • استفاده از Automapper

    منتشرشده 00:14:31
  • Routing در Api

    منتشرشده 00:14:42
  • دریافت اطلاعات در Api

    منتشرشده 00:18:10
  • ایجاد ویلا با متد پست

    منتشرشده 00:23:39
  • ویرایش و حذف (HttpPatch & HttpDelete)

    منتشرشده 00:14:49
  • ساخت api برای جزئیات ویلا

    منتشرشده 00:15:18
  • تغییر جدول ویلا (مزیت Automapper)

    منتشرشده 00:09:51
  • کامل کردن Api جزییات ویلا

    منتشرشده 00:23:36
  • Swagger
  • افزودن Swagger به پروژه

    منتشرشده 00:21:28
  • استفاده از کامنت در داکیومنت

    منتشرشده 00:19:48
  • نمایش پاسخ ها در Swagger

    منتشرشده 00:18:29
  • ورژن بندی Api
  • صفحه بندی ویلا ها

    منتشرشده 00:34:23
  • افزودن Versioning و دریافت در Route

    منتشرشده 00:11:41
  • جدا کردن ورژن های Api در Swagger

    منتشرشده 00:16:47
  • افزودن ورژن جدید

    منتشرشده 00:13:15
  • گرفتن ورژن در Header و Query

    منتشرشده 00:10:49
  • تست ورژن بندی در post man

    منتشرشده 00:25:23
  • احراز هویت
  • JWT چیست ؟

    منتشرشده 00:05:58
  • ثبت نام

    منتشرشده 00:22:05
  • افزودن jwt

    منتشرشده 00:09:23
  • عملیات ورود و احراز هویت

    منتشرشده 00:27:08
  • افزودن کلاس Jwt Setting

    منتشرشده 00:18:34
  • ادامه احراز هویت

    منتشرشده 00:11:47
  • افزودن احراز هویت به swagger

    منتشرشده 00:13:22
  • تکمیل جزییات Api

    منتشرشده 00:15:17
  • ایجاد پروژه وب برای استفاده از Api
  • ایجاد پروژه فرانت

    منتشرشده 00:13:02
  • افزودن قالب

    منتشرشده 00:14:58
  • ثبت نام

    منتشرشده 00:17:41
  • ثبت نام ۲

    منتشرشده 00:26:47
  • ورود به سایت

    منتشرشده 00:16:51
  • ورود به سایت 2

    منتشرشده 00:10:23
  • دریافت لیست ویلا ها

    منتشرشده 00:34:24
  • ارسال توکن احراز هویت

    منتشرشده 00:09:38
  • احراز هویت پروژه فرانت

    منتشرشده 00:17:44
  • دریافت صفحه بندی ویلا ها از Api

    منتشرشده 00:22:35
  • افزودن عکس به ویلا

    منتشرشده 00:10:20
  • افزودن یک GenericRepository برای ارسال درخواست بهApi

    منتشرشده 00:18:46
  • دریافت لیست ویلا از Api و نمایش در DataTable

    منتشرشده 00:22:53
  • افزودن ویلا

    منتشرشده 00:28:20
  • ویرایش و حذف ویلا و نمایش تصویر

    منتشرشده 00:28:11
  • دریافت و نمایش جزییات ویلا

    منتشرشده 00:15:43
  • افزودن,ویرایش و حذف جزییات

    منتشرشده 00:23:21
  • CORS چیست ؟

    منتشرشده 00:09:11
  • معماری پیاز و برنامه نویسی ماژولار
  • معماری پیاز

    منتشرشده 00:07:48
  • شروع یک پروژه (لایه دامین)

    منتشرشده 00:20:32
  • لایه Application

    منتشرشده 00:11:06
  • لایه Infrastracture

    منتشرشده 00:19:58
  • لایه Infrastracture (2)

    منتشرشده 00:17:35
  • پروژه دوم (ساخت یک Api برای محاسبه هزینه پست)
    درحال حاضر هیج بخشی برای این فصل منتشر نشده است
    ایجاد پروژه فرانت برای Api پست
    درحال حاضر هیج بخشی برای این فصل منتشر نشده است
    استفاده از Api پست در یک وب سایت فروشگاهی
    درحال حاضر هیج بخشی برای این فصل منتشر نشده است

    پیشنیاز های دوره چه چیزهایی هستند؟

    • C#
    • Asp.Net Core

    نظرات دانشجویان

    ...medz11

    ...medz11 | دانشجوی دوره آموزش ایجاد و استفاده از Restful Api در Asp.Net و آموزش معماری پیاز

    استاد اصلاني عزيز سلام. سپاسگزارم كه اين آموزش ارزشمند را دوباره در سايت قرار داديد. ارادتمند

    مدرس دوره

    فرهاد اصلانی


    • همیشه آپدیت اش
    • github