ایجاد یک Web API ساده با ASP.NET Web API

در این مقاله ما ساخت یک Web API ساده را با استفاده از ASP.NET Web API مرور خواهیم کرد. قطعا یکی از ابتدایی ترن نیازهای ما برای آشنایی با مباحث جدید فرا گرفتن اصول اولیه آن است. اگر شما به تازگی با Web API آشنا شده اید میتوانید با مفاهیم اولیه آن در این مقاله آشنا شوید.

ایجاد یک Web API ساده با ASP.NET Web API

Web API یک رابط برنامه نویسی کاربردی (Application Programming Interface ) برای برقراری ارتباط و تعامل اجزای نرم افزاری با یکدیگر میشود. ASP.NET Web API درواقع یک framework است که با ساخت آسان سرویس های HTTP را به طیف وسیعی از مشتریان، مرورگرها و تلفن های همراه میرساند. ASP.NET, web API برقرار کننده ارتباط بین Device های مختلف و Database باشد.

ویژگی های استفاده از Web API :

برای دسترسی داده های service در برنامه های تحت وب و بسیاری از برنامه های مربوط به تلفن همراه و یا سایر Device های خارجی استفاده میشود.
برای ایجاد خدمات RESTful استفاده میشود. REST مخفف Representational State Transfer است که یک معماری برای شبکه ای از برنامه های hypermedia است.
عمدتا برای ساخت Web Service های سبک، قابل نگهداری و مقیاس پذیر است و از پهنای باند محدود پشتیبانی میکند.
برای ایجاد سرویس های ساده HTTP است. از JSON، XML و سایر فرمتهای داده پشتیبانی میکند.

اکنون آموزش ایجاد یک Web API را خواهیم دید.

گام 1

Visual Studio خود را باز کرده و یک پروژه جدید از بخش #Visual C گزینه Web و سپس ASP.NET Web Application ایجاد نمایید. پس از انتخاب نام و مسیر پروژه OK را زده و ادامه دهید.

گام 2

Web API را از پنجره باز شده انتخاب نمایید. شما میتوانید برخی از پیام ها را در سمت راست مشاهده نمایید.

به خاطر داشته باشید Web API از معماری سه لایه تبعیت میکند به همین دلیل پس از انتخاب ASP.NET Web Application تیک گزینه MVC هم زده میشود. به همین دلیل علاوه بر اضافه شدن Reference های مربوط به Web API تمام Reference های مربوط به MVC نیز به پروژه شما اضافه میشود.

گام 3

پس از باز شدن پروژه شما ازسمت راست در قسمت Solution Explore میتوانید تمامی فایل ها و فولدر های مهم پروژه را مشاهده نمایید که درست همانند MVC است. اگر شما یک پروژه Empty ایجاد کنید این فایل ها را نخواهید دید.

گام 4

اگر وارد پوشه Controller خود شوید یک Controller با نام ValuesController.cs خواهید دید. این اصلی ترین کلاس Web API است که بطور پیش فرض ایجاد شده است. ولی ما در این مقاله یک Controller جدید با نام متفاوت خواهیم ساخت.

روی پوشه Controller راست کلیک کرده و گزینه Add و سپس Controller را انتخاب کنید.

از پنجره Add Scaffold گزینه Web API 2 Controller – Empty را انتخاب و Add نمایید.

نام Controller  خود را وارد و OK نمایید.

تا اینجا چنین چیزی را مشاهده خواهید کرد.

کنترلر Web API از یک کلاس انتزاعی (abstract class) به نام ApiController ارث بری میکنند. که یک امر مهم و اساسی برای Web API ها است. این کلاس از فضای نام System.Web.Http قابل دسترس است.

گام 5

اکنون یک method ساده در Controller در برنامه خود بسازید و آن را اجرا نمایید. ما در اینجا نام method خود را GetBarnamenevisan() قرار داده ایم شما میتوانید هر نام دیگری را به آن اختصاص دهید ولی بخاطر داشته باشید که استفاده از Get در ابتدای نام مشخص کننده عمل انجام شده در آن method است.

public class DemoController : ApiController
    {
        public string GetBarnamenevisan()
        {
            return "Welcome To Web API";
        }
        public List<string> GetBarnamenevisan(int Id)
        {
            return new List<string> {  
                "Data1",  
                "Data2"  
            };
        }  
    }

فرمت استفاده از URL برای اجرای Web API 

برای اجرای Web API ما باید از فرمت api/Controller_Name برای دسترسی به متدهای خود استفاده نماییم. برای مثال MVC فرمت URL را با استفاده از کلاس RouteConfig و متد RegisterRoutes تعریف میکند. ما از WebApiConfig و متد Register دسترسی به URL و اعمال تغییرات را خواهیم داشت. شما میتوانید جزئیات را در فایل Global.aspx مشاهده نمایید.

در Web API فرمت استفاده از URL با استفاده از GlobalConfiguration و متد استاتیک Configure تعریف میشود. و میتوان از متد Register از کلاس WebApiConfig به عنوان آرگومان متد Configure استفاده کرد.  اگر کلاس WebApiConfig را باز نمایید میتوانید route های مربوط به Web API را مشاهده نمایید.

گام 6

اکنون که پروژه خود را اجرا نمایید. نام Controller ما Demo است. پس بر اساس فرمت ارائه شده ما URL خود http://localhost:25597/api/demo را اجرا کردیم.
Web API نتیجه را در قالب XML یا JSON به شما نمایش میدهد و خروجی شما شبیه به زیر خواهد بود. 

اگر 1/http://localhost:25597/api/demo  را اجرا نمایید در واقع متد Get را فراخوانی میکنید. به دلیل اینکه parameter وجود ندارد خروجی شما شبیه به این خواهد بود.

ولی با وارد کردن parameter شما متد (Get (int id را فراخوانی خواهید کرد و خروجی به شکل XML بازگشت داده میشود.

فایل های ضمیمه