Jack of all trades, master of none
بررسی اجمالی Swagger و کاربرد آن در ASP.NET Core Webapi
من علی کلاهدوزان هستم و گاهی اگر حسش رو داشته باشم، یک چیزهایی مینویسم...
همین امروز بود که دوستی میگفت کاش کد نویسهایی که داکیومنت نمی نویسند بروند زیر تریلی! . خوب حالا فرض میکنیم یک برنامه نویس ASP.NET قصد دارد Api ها را مستند کند. باید بنشیند انشاء بنویسد ؟. به طور قطع کار عاقلانه ای نخواهد بود. برای این کار استاندارد وجود دارد و رایجترین ابزار پیاده سازی این استاندار Swagger است.
پس فهمیدم که برای مستند سازی Api ها باید با Swagger سرکار داشته باشیم. خوب بهترین راه یادگیری چیست ؟. بهترین راه ایجاد یک Api و افزودن Swagger به پروژه و پیاده سازی روند مستند سازی است.
برای داشتن یک وضعیت واقعی باید یک Web Api Project بسازیم و یک CRUD رو پیاده سازی کنیم تا بتونیم در عمل از Swagger به شکل واقعی استفاده کنیم.
اسم پروژه رو میزاریم SwaggerUITest و از نوع ASP.NET Core Web Application هم باید باشد.
در دیالوگ بعدی هم Template پروژه را WebApi انتخاب میکنیم.
خوب اگر پروژه ساخته شده باشه میتوانید به مرحله بعدی یعنی ساخت یک Model به نام Employee بروید. مشخص است که می دانید Model یک کلاس شامل Property ها که نقش فیلدهای ما را دارد خواهد بود.
خوب حالا به Controller نیاز داریم . به شکل زیر Controller را نیز میسازیم.
از طریق Wizard موجود به یکباره DbContext و Controller را می سازیم. حالا برای اینکه اقلن یک رکورد داشته باشیم، در متد سازنده کلاس Controller یک مقدار دهی ساده به شکل زیر انجام میدهیم.
خوب یک رکورد از این طریق به دیتابیس ما اضافه خواهد شد. با اولین اجرا رکورد به جدول اضافه خواهد شد.
خوب حالا وقت آن است که از طریق Nuget پکیج Swagger را به پروژه اضافه کنیم.
Install-Package Swashbuckle.AspNetCore
خوب حالا تنظیمات MiddleWare یعنی همان Startup.cs هنوز باقی است . به شکل زیر متدهای Configure و ConfigureService باید تغییر کنند.
درون ConfigureService باید
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});
قرار گیرد و درون Configure باید
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
افزوده خواهد شد. حالا Api را Run کنید و در Address Bar عبارت Swagger را اضافه کنید.
همانطور که مشاهده می کنید، لیست Controller ها و متدهای درون آن مشخص است و میتوانید آنها را باز و قابلیتهای آنرا مشاهده کنید.
خوب تمام شد. این هم اولین نوشته من در ویرگول. باشد که پند گیرید.
اگر دلتون خواست میتوانید با ایمیل AliKolahdoozan@Gmail.Com با من در تماس باشید و فحشی چیزی داشتید برام بفرستید !.
مطلبی دیگر از این انتشارات
پردازش زبان های طبیعی (NLP) [3]
مطلبی دیگر از این انتشارات
داستان gREST؛ گراف دیتابیس و Restful API
مطلبی دیگر از این انتشارات
API چیست؟