آموزش Web API

HTTP تنها یک بستر برای Web pageها نیست بلکه بستری قدرتمند برای ساخت APIهایی است که در معرض سرویس ها و داده ها می باشند. HTTP هم آسان است و هم منعطف و نیز در همه جا در دسترس است. تقریبا تمام پلت فرم هایی که شما فکر می کنید، یک کتابخانه HTTP دارند. سرویس های HTTP قابلیت دسترسی به یک محدوده از کاربرها که شامل مرورگرها، موبایل ها و برنامه های کاربردی سنتی هستند را دارند.Asp.net Web API یک Framework برای ایجاد Web API ها می باشد.
Web API

HTTP تنها یک بستر برای web pageها نیست بلکه بستری قدرتمند برای ساخت APIهایی است که در معرض سرویس ها و داده ها می باشند. HTTP هم آسان است و هم منعطف و نیز در همه جا در دسترس است. تقریبا تمام پلت فرم هایی که شما فکر می کنید.

در این قسمت قصد داریم نشان دهیم چگونه Asp.net Web API مقدار برگشتی از controller را به پیام پاسخ HTTP تبدیل می کند

اگرچه Asp.net Web API برای Asp.Net MVC بیشتر مورد استفاده قرار می گیرد، می توان آن را به آسانی از Web API به Web Form های Asp.Net سنتی اضافه کرد

گاهی اوقات برای آنکه برنامه نویسان دیگر چگونگی فراخوانی شما را متوجه شوند، لازم است شما در زمان ساختن یک Web API، یک صفحه Help هم بسازید.شما می توانید تمام مستندات را به طور دستی بسازید ولی بهتر است تا جایی که امکان دارد از ساخت اتوماتیک(auto generated) استفاده کنید.

در برنامه های تحت وب سنتی، مرورگرها برای ارتباط با سرور یک صفحه درخواست می کردند. سرور درخواست را پردازش می کرد و یک صفحه HTML به کلاینت بر می گرداند.در SPA کل صفحه بعد از درخواست شروع، در مرورگر بارگزاری می شود اما درخواست ها و تعاملات بعدی توسط درخواست های Ajax جایگذاری می شود.این بدان معنی است که مرورگر تنها قسمت هایی که تغییر کرده است را عوض می کند و لازم نیست تمام صفحه را دوباره بارگزاری کند. این فناوری مدت پاسخگویی به کاربر را پایین می آورد.

در این مقاله قصد داریم توضیح دهیم چطور ASP.NET Web API درخواست های HTTP را به کنترولر مسیردهی می کند.

در این مقاله قصد داریم نشان دهیم چگونه Asp.net Web API یک درخواست HTTP را به یک Action مشخص در یک controller مسیردهی می کند و به جزئیات پردازش مسیریابی می پردازد

مسیریابی یعنی چگونه Web API یک URI را به یک action تطبیق می دهد. Web API 2 از یک نوع جدید مسیریابی به نام مسیریابی اتربیوت(attribute routing) پیروی می کند. همانطور که از نام آن مشخص است، مسیریابی اتربیوت از اتربیوت ها برای تعریف مسیر ها استفاده می کند. مسیریابی اتربیوت به شما کنترل بیشتری در قبال URI ها در Web API می دهد.

همانطور که در مقاله قبل توضیح دادیم، Web API 2 یک نوع جدید از Routing را با نام Attribute Routing معرفی کرده است. در این مقاله قصد داریم بااستفاده از Attribute Routing ، REST API برای یک مجموعه از کتاب (book)ها بسازیم

این مقاله به شما پایه های ساخت Web application سمت مدیر را با استفاده از ASP.NET Web API آموزش می دهد. این مقاله از EntityFramework 6 برای لایه داده ها و Knockout.js برایapplication JavaScript سمت کاربر استفاده می کند.

در این قسمت، ما کلاس های model را برای مشخص کردن ماهیت دیتابیس تعریف می کنیم. سپس شما می توانید Controller های Web API که عملیات CRUD روی آن موجودیت ها را انجام می دهد اضافه کنید.

استفاده کردن از Code First Migration برای مقدار دهی اولیه به پایگاه داده

در این قسمت بعضی جزئیات از چگونگی بارگذاری موجودیت های وابسته و چگونگی مدیریت خاصیت های مسیر جهت یابی (navigation) در کلاس های model شما را توضیح می دهیم.

در حال حاضر Web API ما نمایشی از entityهای ما در دیتابیس به کاربر نشان می دهد. کاربران داده هایی که به طور مستقیم به جداول دیتابیس شما وصل هستند را دریافت می کنند. با این حال، این مورد همیشه یک ایده خوب به نظر نمی رسد.

در این قسمت، شما باید با استفاده از کتابخانه های HTML، JavaScript و Knockout.js برنامه سمت کاربر طراحی کنید

در این قسمت، قصد داریم برای برنامه یک صفحه HTML تعریف کنیم و بین HTML و view model اطلاعات منتقل کنیم.

در این قسمت شما باید قابلیت نمایش جزئیات را به هر book اضافه کنید.

در این قسمت، شما برای کاربران این قابلیت را اضافه می کنید تا آنها بتوانند یک کتاب جدید ایجاد کنند.

media typeکه به آن MIME نیز گفته می شود، فرمت یک قطعه از داده را شناسایی می کند. در HTTP، نوع داده، فرمت پیام را توصیف می کند. یک داده شامل دو رشته می شود، یکی نوع آن و دیگری زیر گروه آن

در این مقاله قصد داریم قالب بندی JSON و XML را در ASP.NET Web API توضیح دهیم

BSON یک قالب serial کردن به صورت باینری می باشد. BSON مخفف Binary JSON می باشد اما نوع serial کردن BSON و JSON بسیار با هم تفاوت دارد. BSON یک JSON-like می باشد زیرا objectها به عنوان نماینده ای از جفت مقدار-نام (name-value pairs) شبیه به JSON می باشند.

طبق تعریفی که مشخصه یHTTP (RFC 2616) ارائه می دهد ، Content negotiation فرآیند انتخاب بهترین نمایش برای پاسخ داده شده از بین چندین نمایش در دسترس می باشد . مکانیزم اولیه Content negotiation در HTTP دارای سربرگ درخواست های(request header) زیر می باشد

بعضی اوقات شما می خواهید وقتی کاربر اطلاعاتی به Web API شما ارسال می کند آن اطلاعات را قبل از هرگونه پردازشی اعتبارسنجی کنید. این مقاله به شما نشان می دهد چگونه از annotation ها برای اعتبارسنجی داده ها استفاده کنیم و خطاهای اعتبارسنجی در Web API را مدیریت کنید.

وقتی Web API یک متد از یک Controller فراخوانی می کند باید مقادیر را برای پارامترها تنظیم کند، به این رویه Binding می گوییم.

اگر برای Web API Controller یک خطا رخ دهد چه اتفاقی می افتد؟به صورت پیش فرض، اکثر خطاها در یک پاسخ HTTP با کد 500(خطای درونی سرور) نمایش داده می شود.

زمانی که شما می خواهید یک برنامه تحت وب را اشکال زدایی(debug) کنید هیچ جایگزینی برای یک مجموعه خوب از trace کردن log ها وجود ندارد. در این مقاله قصد داریم چگونگی trace کردن در ASP.NET Web API را به شما آموزش دهیم.

در این مقاله می خواهیم نشان دهیم چگونه به پروژه خودتان یک unit test اضافه کنید و متدهای تست که مقادیر بازگشتی از یک Controller را بر می گرداند بنویسید.

این مقاله بعضی تکنیک های خاص unit test کردن controller ها در Web API 2 را توضیح می دهد. البته پیشنهاد می کنیم قبل از مطالعه این بخش ، مقاله قسمت قبلی را مطالعه کنید.

یک برنامه Web application به اسم StoreApp بسازید. در پنجره New Asp.net Project روی قالب Empty کلیک کنید و در Add folders and core references گزینه Web API را انتخاب کنید. گزینه Add unit tests را انتخاب کنید. Unit test project به صورت خودکار نام آن را StoreApp.Tests قرار می دهد و شما می توانید با همین نام ادامه دهید.