Swagger در واقع یک فریمورک است که با هدف تعریف یک زبان آگنوستیک (زبان های آگنوستیک به اندازهای انعطاف پذیرند که تمام کارهایی که از آنها انتظار دارید را میتوانند برای شما انجام دهند) به عنوان رابط با REST API ها ایجاد شده است. این فریم ورک به کامپیوتر و شخص این امکان را میدهد که بدون دسترسی به سورس کد، داکیومنتها و یا ترافیک اینترنت، به ظرفیتهای سرویسها دسترسی پیدا کنند. در صورتی که Swagger به صورت صحیح تعریف شود، کاربر میتواند با استفاده از کمترین میزان پیاده سازی لاجیک، متوجه remote service شود و با آن تعامل برقرار کند. Swagger بخش حدس زدن در فراخوانی سرویس را، مانند کاری که interface ها برای زبانهای سطح پایینتر انجام میدهند، حذف میکند. به صورت تخصصیتر میتوان گفت که Swagger یک ابزار کارآمد و رسمی است که توسط دسته بزرگی از ابزار دیگر احاطه شده است و شامل تمام بخشهای رابط کاربری در فرانت اند، کتابخانههای شامل کدهای سطح پایین و API های تجاری و مدیریتی است.
نمونه ای از وابستگی های Swagger
ابتدا موارد زیر را که برای شروع کار نیاز داریم به maven اضافه میکنیم.

در مرحله بعد، کلاس و پکیج زیر را ایجاد میکنیم.

به کلاس SwaggerConf دقت کنید.

به #1 و *1 که با کادرهای قرمز رنگ مشخص شده اند دقت کنید. عبارت “com” نام پکیجی است که تمام پکیجها و کلاسها در آن قرار دارند.

به #2 و 2 که با کادرهای بنفش مشخص شده اند دقت کنید. تمام کنترلرهای این برنامه با آدرس /rest/ شروع شده اند و در ادامه آن عبارات /rest/courses و /rest/teacher اضافه شده است. به همین دلیل از/rest. استفاده میکنیم. به انوتیشنهای Configuration و EnableSwagger2 در کلاس SwaggerConf دقت کنید.
در مرحله بعد، پورتی را برای پروژه ایجاد کرده و پروژه را ایجاد میکنیم, به این منظور ابتدا به آدرس http://localhost:8080/swagger-ui.html میرویم و مراحل را طبق 3 تصویر زیر دنبال میکنیم.



در این مرحله، در کلاس SwaggerConf تغییراتی را مطابق تصویر زیر اعمال میکنیم.

که این تغییرات در 2 تصویر زیر قابل مشاهده هستند.


در این مرحله به کلاس CourseController میرویم.

پس رفتن به کلاس CourseController در بالای متد insert عبارت @Api را تایپ میکنیم. در این حالت چند پیشنهاد برای ما نمایش داده میشود.

از بین پیشنهادهای نمایش داده شده، ApiOperation@ را انتخاب میکنیم.

پس از آن میتوانید تغییرات اعمال شده را مشاهده کنید.

تصویر زیر نیز نمونه دیگری از مثال ذکر شده است.
