Web API چیست

Web API چیست؟

قبل از اینکه سراغ Web API برویم اجازه دهید API(واسط برنامه نویسی اپلیکیشن) را بررسی کنیم.

طبق تعریف ویکی پدیا از API:در برنامه نویسی کامپیوتر یک واسط برنامه نویسی اپلیکیشن مجموعه ای از تعریف زیرروال ها،پروتکل ها پروتکل ها و ابزار ها برای ساخت نرم افزار یا اپلیکیشن است.

به بیان ساده تر API نوعی واسط است که مجموعه ای از توابع دارد که به برنامه نویس اجازه دسترسی به ویژگی خاص یا داده از اپلیکیشن،سیستم عامل یا سرویس های دیگر را می دهد.

Web API همانطور که از نامش پیدا است یک APIروی وب است که از طریق پروتکل های HTTP قابل دسترس است و در واقع یک مفهوم است نه یک تکنولوژی ما می توانیم Web API ها را از طریق تکنولوژی های مختلفی مانند جاوا،.NET و غیره بسازیم برای مثال API های REST توییتر دسترسی های برنامه نویسی به خواندن و نوشتن داده را می دهد که امکان تجمیع تمام ویژگی های توییتر در یک اپلیکیشن را می دهد.

ASP.NET Web API

Web API در ASP.NET یک فریم ورک گسترده برای ساخت درخواست های مبتنی بر HTTP می باشد که می تواند در اپلیکیشن های مختلف در پلتفرم های مختلف مانند وب،ویندوز،موبایل و غیره دردسترس باشد و کم و بیش مانند وب اپلیکیشن های ASP.NET MVC کار می کند و داده را به عنوان یک Response از صفحه ی HTML می فرستد. Web API مانند وب سرویس ها و یا WCF است اما با این تفاوت که فقط از پروتکل های HTTP پشتیبانی می کند.

ویژگی های ASP.NET Web API

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

2. ASP.NET Web API روی ASP.NET ساخته شده است و از پایپ لاین Request/response در ASP.NET پشتیبانی می کند.

3.ASP.NET Web API افعال HTTP را به نام متد ها نگاشت می کند.

 4. ASP.NET Web API از فرمت های مختلف برای Response داده ها پشتیبانی می کند.

5. ASP.NET Web API می تواند در IIS هاست شود و یا Self-host باشد و یا در هر وب سرور دیگری که از .NET 4.0 به بالا پشتیبانی می کند هاست شود.

6.فریم ورک ASP.NET Web API شامل HttpClient های جدیدی برای ارتباط با سرور های Web API می باشد. HttpClient می تواند در ASP.NVC سمت سرور، ویندوز فرم اپلیکیشن،کنسول اپلیکیشن و یا هر اپلیکیشن دیگری استفاده شود.

ورژن های ASP.NET Web API

ورژن Web API

.Net فریم ورک پشتیبانی

پشتیبانی در

Web API 1.0

.Net Framework 4.0

VS2010

Web API 1.0-current

.Net Framework 4.5

VS2012-2013

 

 

 

 

 

مقایسه ASP.NET Web API و WCF

Web API

WCF

Open-Source است و با .NetFramework کار می کند.

با .NetFramework کار می کند.

فقط از پروتکل HTTP پشتیبانی می کند.

از پروتکل های HTTP،TCP،UDP و شخصی پشتیبانی می کند

افعال HTTP را به متد ها نگاشت می کند.

از مدل های برنامه نویسی مبتنی بر Attribute استفاده می کند

از Routing ها و کنترلر های مشابه Asp.NET MVC استفاده می کند.

از قرارداد های سرویس ها،عملیات ها و داده استفاده می کند.

از تعاملات و پیام رسانی قابل اطمینان پشتیبانی نمی کند

از تعاملات و پیام رسانی قابل اطمینان پشتیبانی می کند

Web API در کلاس HttpConfiguration  پیکربندی می شود.

از Web.Config برای پیکربندی استفاده می کند.

برای ساخت سرویس های Restful ایده آل است.

از سرویس های Restful پشتیبانی می کند اما محدودیت هایی دارد.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

چه زمانی WCF را انتخاب کنیم؟

زمانی که از .NET Framework 3.5 استفاده می کنید WCF را انتخاب کنید زیرا Web API در .Net Framework 3.5 به پایین پشتیبانی نمی شود.

اگر می خواهید سرویس شما از پروتکل های چندگانه مانند HTTP، TCP و غیره پشتیبانی کند WCF را انتخاب کنید.

اگر می خواهید سرویسی با استاندارد های WS-* بسازید برای مثال پیام رسانی و تعاملات امن داشته باشد از WCF استفاده کنید.

چه زمانی از ASP.NET Web API استفاده کنیم؟

اگر از .NET Framework 4.0 به بالا استفاده می کنید ASP.NET Web API را انتخاب کنید.

اگر می خواهید سرویسی بسازید که فقط از HTTP پشتیبانی می کند ASP.NET Web API را انتخاب کنید.

اگر می خواهید سرویس هایی مبتنی بر RESTful HTTP بسازید ASP.NET Web API را انتخاب کنید.

اگر با ASP.NET MVC آشنا هستید ASP.NET Web API را انتخاب کنید.

 

نظر شما

1 نظر

رضا - 1399/6/25
مفید بود. ممنون