.NET API - هيكل المشروع: Controllers وModels وProgram.cs
1.3 .NET API - هيكل المشروع: Controllers وModels وProgram.cs
في مشاريع ASP.NET Core Web API، يتكوّن المشروع من ملفات أساسية تنظم سير العمل بين الطلبات والاستجابات. دعنا نلقي نظرة على أهم هذه الملفات:
📁 1. Controllers
Controllers هي المسؤولة عن استقبال الطلبات من المستخدمين والتفاعل معها.
أي Controller يرث من ControllerBase
، ويحتوي على Actions (مثل: Get, Post) تعالج الطلب وترجع استجابة (عادة JSON).
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
[HttpGet]
public IActionResult GetAll()
{
return Ok(new[] { "Laptop", "Mouse", "Keyboard" });
}
}
ملاحظة: [ApiController] تسهل التحقق من البيانات وتنسيق الردود تلقائيًا.
📁 2. Models
Models هي الطبقة التي تمثل الكائنات أو البيانات المستخدمة داخل التطبيق. غالبًا ما تُستخدم لتمثيل كائنات قاعدة البيانات أو البيانات القادمة من الطلب.
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
يمكنك استخدام Models في:
- ✅ تخزين البيانات
- ✅ استقبال البيانات من الـClient
- ✅ إرسال البيانات إلى واجهات أخرى
⚙️ 3. Program.cs (أو Startup.cs)
في الإصدارات الحديثة من .NET، يستخدم المشروع Program.cs فقط لتهيئة الخدمات (Dependency Injection) ومسار التطبيق.
var builder = WebApplication.CreateBuilder(args);
// تسجيل الخدمات
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
// إعداد البايبلاين
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseAuthorization();
app.MapControllers();
app.Run();
ملحوظة: السطر app.MapControllers();
هو ما يجعل الـ API تعمل فعليًا، فلا تنسَ إضافته.
📌 خلاصة
- Controllers: تستقبل وتعالج الطلبات.
- Models: تمثل البيانات المستخدمة داخل النظام.
- Program.cs: يحتوي على إعدادات المشروع وتهيئة الخدمات.
تعليقات
إرسال تعليق