عنوان:

‫معماری تمیز در .NET 10: لایه API - کنترلرها در برابر APIهای مینیمال


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۲۲ ۰۹:۳۰
آدرس: www.dntips.ir
این مقاله بخشی از یک سری 6 قسمتی درباره معماری تمیز در .NET 10 است و به بررسی لایه API می‌پردازد. لایه API جایی است که درخواست‌های HTTP با برنامه شما ملاقات می‌کنند و وظیفه آن ترجمه بین HTTP و دستورات/پرسش‌ها است. اگر کنترلرهای شما حاوی منطق تجاری باشند، به احتمال زیاد مشکلی در لایه‌های بالاتر وجود دارد. وظایف اصلی لایه API شامل دریافت درخواست‌های HTTP، تجزیه JSON، اعتبارسنجی مدل‌ها، ترجمه به دستورات/پرسش‌ها (با استفاده از MediatR) و برگرداندن پاسخ‌های HTTP (شامل کدهای وضعیت و بدنه JSON) است. این لایه نباید شامل منطق تجاری، دسترسی به داده‌ها یا تصمیمات پیچیده مربوط به مجوز باشد. در این مقاله، تنظیم پروژه با استفاده از Program.cs و سرویس‌های مورد نیاز مانند FluentValidation، MediatR و Serilog نشان داده شده است. همچنین، نحوه افزودن کنترلرهای API، کاوشگر API و Swagger برای مستندسازی API توضیح داده شده است. در نهایت، مقاله بر اهمیت تعریف قراردادهای درخواست/پاسخ API-specific به جای استفاده مستقیم از موجودیت‌های دامنه یا DTOهای برنامه تاکید می‌کند. نمونه‌ای از قرارداد درخواست CreatePromptRequest برای ایجاد یک اعلان ارائه شده است که نشان‌دهنده جداسازی لایه‌ها و کاهش وابستگی‌ها است.


مشاهده مطلب اصلی