تكرار السؤال: …
الإجابة المختصرة
الـ Minimal APIs توجه المسارات مباشرة عبر Lambdas خفيفة بأقل تكلفة إضافية وأسرع إقلاع، بينما الـ Controllers توفر هيكلية كلاسيكية تناسب المشاريع الضخمة المعقدة.
الشرح
صُممت Minimal APIs لتوفير أداء فائق وسرعة إقلاع قصوى بدون أعباء الـ MVC الكلاسيكية (مثل Model Binders المعقدة والمرشحات الثقيلة)، وهي مثالية للـ Microservices ووظائف الـ Serverless. في المقابل، توفر فئات ControllerBase هيكلية متكاملة مفضلة للمشاريع الكبيرة مع دعم واسع لـ Action Filters و Model Conventions.
مثال بالكود
// Minimal API (Program.cs)
var app = builder.Build();
app.MapGet("/users/{id}", async (int id, IUserService service) =>
await service.GetUserAsync(id) is { } user ? Results.Ok(user) : Results.NotFound());أخطاء شائعة
- حشو مئات المسارات والمنطق البرمجي مباشرة داخل ملف Program.cs في Minimal APIs بدلاً من تنظيمها في فئات توسعية (Endpoint Route Groups).