
همانطور که می دانید وقتی از نوع شمارشی یا همانenumدرdtoهای ورودی یکapiاستفاده می کنیم، ابزارswagger آنها را به صورت عددی نمایش می دهد و کسانی که ازapiهای ما می خواهند استفاده کنند کمی سردرگم می شوند چون اعداد هیچ مفهومی ندارند و این یک ضعف برای داکیومنت ما محسوب می شود. بهتر است بجای اعداد نام رشته ای مقادیرenumرا نمایش دهیم که کاربران استفاده کننده راحتر مفهوم داده های ورودی را درک کنند.
فرض کنید ما نوع داده ایenumزیر را به عنوان ورودی می خواهیم از کاربر دریافت کنیم.
public enum Priority
{
Much = 1,
medium = 2,
Low = 3,
}
تصویر زیر حالت پیش فرض استفاده از نوع های شمارشی در swaggerرا نشان می دهد. همانطور که مشاهده می کنید در کادر ورود اطلاعات پارامتر هایapiما مقادر1,2,3را برای پارامترPriorityمی توانیم انتخاب کنیم.
برای فعال سازی نمایش نام رشته ای نوع های شمارشی(enum)درswagger کد زیر را بهAddSwaggerGenاضافه می کنیم.
c.DescribeAllEnumsAsStrings();
پس از اعمال تغیرات باید کانفیگ swagger به صورت زیر باشد.
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "Training enum datatype in swagger with bugeto", Version = "v1" });
c.DescribeAllEnumsAsStrings();
});
حالا اگر پروژهasp.net core را اجرا کنیم و صفحهswaggerرا باز کنیم می بینیم که به جای اعداد از نام رشته ای مقادریenumاستفاده شده است که این کار باعث افزایش بهره وری استفاده کنندگان از api ها می شود.
امیدوارم این آموزش برای شما مفید بوده باشد.
درضمن مقاله نحوه استفاده از swagger در asp.net core را نیز می توانید در بلاگ باگتو مطالعه نمایید.
جدیدترین ویدئوهای آموزشی
در بخش TV باگتو، آموزش های کوتاه و جدید را مشاهده نمایید
برای ارسال نظر باید وارد حساب کاربری خود شوید
ورود به حساب کاربری ثبت نام
بسیار عالی مهندس بابایی عزیز