Web API چیست؟
همانطور که از نام آن مشخص است یک Web API یک API است که بر روی Web سوار می شود می تواند توسط پروتکل HTTP مورد دسترسی قرار بگیرند دقت کنید که Web API یک مفهوم است و نه یک تکنولوژی. ما می توانیم Web API را با تکنولوژی های متفاوتی از قبیل جاوا و دات نت ایجاد کنیم. برای مثال Web API مربوط به توییتر به ما امکان این را می دهد تا با استفاده از روشی برنامه نویسی وار به داده هایی برای خواندن و نوشتن دسترسی پیدا کنیم و با استفاده از این Web API قابلیت هایی را در درون برنامه های خود استفاده کنیم.
ASP.NET Web API چیست؟
ASP.NET Web API یک فریم ورک قابل گسترش (Extensible) برای ساختن سرویس های مبتنی بر HTTP است که می توانند در اپلیکیشن های متفاوت و پلتفرم های متنوع از قبیل وب، ویندوز و موبایل مورد دسترسی قرار بگیرند. روند کار ASP.NET Web API تقریباً شبیه به برنامه های وب ASP.NET MVC است با این تفاوت که در ASP.NET Web API داده ها در قالب یک Response ارسال می شوند و نه در قالب یک HTML View. از نقطه نظر دیگر ASP.NET Web API و وب سرویس ها یا سرویس های WCF مشابه هستند و تفاوت اصلی بین آنها این است که ASP.NET Web API فقط از پروتکل HTTP پشتیبانی می کند.
سرویس های REST و یا REST Service چیست؟
به بیان ساده REST مخفف Representational State Transfer. می باشد. REST یک مفهوم معماری و یا سبک معماری است که با استفاده از آن می توانید وب سرور های سبک وزن و inter-operable ایجاد کنید. منظور از inter-operable این است که یک وب سرویس می تواند با وب سرویس های دیگر به سادگی ارتباط برقرار کند وب سرویس ها کمک می کنند تا به سادگی بتوانید به resource های موجود در فضای وب دسترسی پیدا کرده و آنها را از طریق یک شناسه یعنی URI تغییر بدهید. URI مخفف Uniform Resource Identifier است که نقش یک شناسه منحصر بفرد برای مشخص کردن یک resource را ایفا می کند. سبک معماری REST در ابتدا توسط آقای Roy Fielding تعریف شد و سپس جدیداً در صنعت نرم افزار مورد استفاده قرار گرفت. شبیه WWW و یا World Wide Web سبک معماری REST نیز از یک URI منحصر بفرد برای مشخص کردن و تعریف نمودن resource ها بر روی یک سرور استفاده می کند. برای مثال http://yoursite.com/employee/1 برای دسترسی پیدا کردن به اطلاعات یک employee و یا یک کارمند است که شناسه وی، یک می باشد. وب سرویس هایی که به صورت REST نوشته شده اند، می توانند request ها و یا درخواست هایی را برای یک resource خاص دریافت نموده و یا پاسخ و یا response هایی را با فرمت های مختلف از قبیل XML و JSON و HTML برگردانند. در گذشته از تکنولوژی های دیگری برای نوشتن وب سرویس ها استفاده می شد. در این تکنولوژی ها از پروتکل هایی از قبیل SOAP و HTTP استفاده می کردیم. این گونه از تکنولوژی ها اغلب در سیستم های توزیع شده کاربرد داشتند. هرچند که این سرویس ها می توانستند با HTTP کار کنند و تمامی نیازمندی های یک سرویس را برطرف نمایند اما شدیداً با پروتکل HTTP درگیر بودند و همین موضوع می توانست مشکلاتی را ایجاد کند.
ایجاد کردن API های RESTfull با استفاده از ASP.NET Web API
در سالهای اخیر مشخص شده است که HTTP نه تنها برای صفحات HTML استفاده می شود، بلکه می تواند کاربرد های دیگری نیز داشته باشد. در واقع HTTP می تواند نقش یک پلتفرم قوی را برای ساختن Web API ها که از مجموعه ای از verb ها یعنی GET و POST استفاده می کنند، مورد استفاده قرار بگیرد. در پروتکل HTTP مفاهیم ساده دیگری از قبیل URI ها و هدر ها نیز تعریف می شود که می توانند مورد استفاده قرار بگیرند. ASP.NET Web API مجموعه ای از کامپوننت ها می باشد که برنامه نویسی در HTTP را ساده تر می کند. از آنجایی که این تکنولوژی، سوار بر runtime مربوط به ASP.NET MVC ایجاد شده است، Web API ها می توانند به صورت خودکار جزئیات transport و یا انتقال سطح پایین در HTTP را مدیریت نمایند. در عین حال Web API ها به صورت طبیعی مدل مربوط به برنامه نویسی در HTTP را مورد استفاده قرار می دهند. یک از اهداف Web API ها abstract نکردن واقعیت HTTP می باشد. به همین دلیل Web API هم می تواند انعطاف پذیر باشد و هم قابلیت گسترش بالایی داشته باشد. سبک معماری REST ثابت کرده است که HTTP می تواند یک روش کاملاً مؤثر برای ایجاد کردن Web API ها باشد.
لینک های دانلود
- دانلود رایگان فایل ویدئویی 1. Creating the Contact Manager API Controllers
- دانلود رایگان فایل ویدئویی 2. Creating the Contact Models and Augment the Contact Controller
- دانلود رایگان فایل ویدئویی 3. Extracting Functionality into a Service Layer
- دانلود رایگان فایل ویدئویی 4. Adding Data-Persistence Features to the Contact Repository
- دانلود رایگان فایل ویدئویی 5. Consuming the Web API from an HTML Client
- دانلود رایگان فایل ویدئویی 6. Providing a GUI for Creating Contacts
- دانلود رایگان فایل پروژه Exercise Files
- پسورد تمامی فایل های سایت www.provid.ir است.
2 Comments