.NET Core - إنشاء Web API في ASP.NET Core

5.1 .NET Core - إنشاء Web API في ASP.NET Core

Web API هو نوع من التطبيقات يتيح للأنظمة والأجهزة التفاعل معًا من خلال إرسال واستقبال البيانات عبر HTTP. في هذا الدرس سنتعلم كيفية إنشاء Web API باستخدام ASP.NET Core خطوة بخطوة.


🔹 الخطوة 1: إنشاء مشروع Web API جديد


dotnet new webapi -n MyApiDemo
cd MyApiDemo

📁 سيتم إنشاء مشروع جاهز يحتوي على Controller افتراضي باسم WeatherForecastController.

🔹 محتوى مشروع Web API

ستجد المجلدات والملفات التالية:

  • Program.cs: إعدادات التطبيق وتهيئة الـ middleware.
  • Controllers/WeatherForecastController.cs: مثال جاهز على API.
  • appsettings.json: إعدادات التطبيق مثل الاتصال بقاعدة البيانات.

🔹 مثال: إنشاء API لإدارة المنتجات

📄 نموذج Product:


public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

📁 Controller: ProductsController.cs


[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
    private static List<Product> products = new()
    {
        new Product { Id = 1, Name = "Laptop", Price = 2500 },
        new Product { Id = 2, Name = "Mouse", Price = 100 }
    };

    [HttpGet]
    public IActionResult GetAll() => Ok(products);

    [HttpGet("{id}")]
    public IActionResult GetById(int id)
    {
        var product = products.FirstOrDefault(p => p.Id == id);
        if (product == null) return NotFound();
        return Ok(product);
    }

    [HttpPost]
    public IActionResult Add(Product product)
    {
        product.Id = products.Max(p => p.Id) + 1;
        products.Add(product);
        return CreatedAtAction(nameof(GetById), new { id = product.Id }, product);
    }

    [HttpPut("{id}")]
    public IActionResult Update(int id, Product updated)
    {
        var product = products.FirstOrDefault(p => p.Id == id);
        if (product == null) return NotFound();
        product.Name = updated.Name;
        product.Price = updated.Price;
        return NoContent();
    }

    [HttpDelete("{id}")]
    public IActionResult Delete(int id)
    {
        var product = products.FirstOrDefault(p => p.Id == id);
        if (product == null) return NotFound();
        products.Remove(product);
        return NoContent();
    }
}

🔹 تشغيل المشروع


dotnet run

افتراضيًا سيتم تشغيل Swagger UI على https://localhost:xxxx/swagger لتجربة الـ APIs.

🔹 الخلاصة

إنشاء Web API باستخدام ASP.NET Core سهل ومرن، ويمكن توسيعه لاحقًا ليشمل قواعد بيانات، حماية بالتوكن، وتوثيق عبر Swagger.

تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework