ویرگول
ورودثبت نام
محمدمهدی بهرامی
محمدمهدی بهرامییه برنامه‌نویس کنجاو در حال کاوش، آزمایش و یادگیری 📚 (سایت: https://bahrami85.ir)
محمدمهدی بهرامی
محمدمهدی بهرامی
خواندن ۱ دقیقه·۵ روز پیش

تنظیم نسخه YAML سند OpenAPI در ASP.NET Core

استاندارد OpenAPI، یه استاندارد برای تعریف دقیق APIهای RESTful (یا REST APIها) هست. این استاندارد رو میشه با زبان‌های JSON و YAML نوشت و باهاشون کار کرد.

مایکروسافت از نسخه ۹ دات‌نت، پکیج Swashbuckle.AspNetCore رو که از پکیج‌های پیش‌فرض پروژه‌های وب بود حذف کرد، و پکیج رسمی خود که به نام Microsoft.AspNetCore.OpenApi هست رو به پکیج‌های پیش‌فرض پروژه‌های وب اضافه کرد.

به طور طبیعی، تنظیماتی که مربوط به OpenAPI میشه هم از نسخه ۹ به بعد دست‌خوش تغییرات زیادی شده و تنظیمات مربوط به فایل سند OpenAPI هم از این قاعده مستثنا نیست. 📃

نکته‌ای که هست، اینه که به طور پیش‌فرض، سند OpenAPI پروژه‌های وب در مسیر openapi/v1.json در دسترس هستن، و نسخه YAML اون‌ها به طور پیش‌فرض در دسترس نیست. 🤦🏻‍♂️

کد پیش‌فرض پروژه وب دات‌نت (نسخه ۹+)
کد پیش‌فرض پروژه وب دات‌نت (نسخه ۹+)

همون‌طوری که می‌بینین، یه متد MapOpenApi هست که فراخوانی شده و خروجی برنامه به این شکل در میاد:

سند OpenAPI پروژه پیش‌فرض دات‌نت
سند OpenAPI پروژه پیش‌فرض دات‌نت

و مشکلی که چند روز پیش داشتم این بود که نیاز پیدا کردم که نسخه YAML سند OpenAPI رو هم داشته باشم، بتونم اون رو دانلود و ذخیره کنم!

بعد امتحان‌کردن چندین راه مختلف، یه راه ساده، راحت، و عالی پیدا کردم که توی چند ثانیه میشه انجامش داد! 👌

و اون هم اینه که باید دوباره متد MapOpenApi رو فراخوانی کنیم، و اسم دلخواه سندمون رو توش بنویسم!
مثلا:

تنظیم نسخه YAML سند OpenAPI برای پروژه API دات‌نت
تنظیم نسخه YAML سند OpenAPI برای پروژه API دات‌نت

که خروجی YAML رو هم به برنامه اضافه می‌کنه! ✨

نسخه YAML سند OpenAPI پروژه پیش‌فرض وب دات‌نت
نسخه YAML سند OpenAPI پروژه پیش‌فرض وب دات‌نت

البته میشه مسیرها رو ساده‌تر هم کرد... 😊

شخصی‌سازی مسیر پیش‌فرض سندهای OpenAPI در پروژه وب دات‌نت
شخصی‌سازی مسیر پیش‌فرض سندهای OpenAPI در پروژه وب دات‌نت

شما همین الان یاد گرفتین که چطوری مسیر پیش‌فرض اسناد OpenAPI رو شخصی‌سازی کنین و نسخه‌ی YAML اون‌ها رو هم داشته باشین.
سعی می‌کنم توی مقاله بعدی، این رو توضیح بدم که نسخه YAML سند OpenAPI رو برای چی میخواستم،
و مطمئنم خیلی نکته بدرد بخوری خواهد بود.
امیدوارم براتون مفید بوده باشه، تا مقاله بعدی به امید دیدار! 👋

دات‌نتapicsharpyaml
۱
۰
محمدمهدی بهرامی
محمدمهدی بهرامی
یه برنامه‌نویس کنجاو در حال کاوش، آزمایش و یادگیری 📚 (سایت: https://bahrami85.ir)
شاید از این پست‌ها خوشتان بیاید