المشاركات

.NET API - استخدام Postman لاختبار الـEndpoints

‎.NET API - استخدام Postman لاختبار الـEndpoints Postman هو أداة مجانية قوية تتيح لك إرسال طلبات HTTP بسهولة إلى API الخاص بك واختبار النتائج. مفيد جدًا أثناء تطوير Web API في ‎.NET. 🧩 ما الذي يمكننا اختباره باستخدام Postman؟ ✅ طلبات GET لاسترجاع البيانات ✅ طلبات POST لإرسال بيانات ✅ طلبات PUT لتحديث بيانات ✅ طلبات DELETE لحذف بيانات 🔌 تشغيل Web API أولاً، تأكد أن Web API يعمل على عنوان مثل: https://localhost:5001/api/products في حال كنت تستخدم HTTP فقط (بدون SSL): http://localhost:5000/api/products 🚀 استخدام Postman خطوة بخطوة افتح تطبيق Postman. اختر نوع الطلب من القائمة (مثل: GET, POST). ضع رابط الـ API في خانة الرابط. إن كنت سترسل بيانات (POST أو PUT)، اختر Body ⮕ raw ⮕ JSON، وأدخل البيانات بصيغة JSON. اضغط Send . 📤 مثال على POST طلب إلى /api/products لإضافة منتج جديد: { "name": "Keyboard", "price": 100 } 📥 مثال على GET طلب إلى /api/products لاسترجاع كل المنتجات: GET http://lo...

.NET API - إعداد الـRouting في Web API

1.4 ‎.NET API - إعداد الـRouting في Web API Routing (التوجيه) هو الآلية التي من خلالها يعرف Web API إلى أي Controller و Action يجب توجيه الطلب المرسل من العميل. في ASP.NET Core Web API، يمكن إعداد التوجيه باستخدام Attribute Routing ، وهو الأسلوب الأكثر استخدامًا مع الـ Web APIs. 🔧 ما هو Attribute Routing؟ Attribute Routing يعني كتابة التوجيه مباشرة فوق الـController أو الـAction باستخدام خصائص مثل: [Route] و [HttpGet] و [HttpPost] . [ApiController] [Route("api/[controller]")] public class ProductsController : ControllerBase { [HttpGet] public IActionResult GetAll() => Ok(new[] { "Laptop", "Mouse" }); [HttpGet("{id}")] public IActionResult GetById(int id) => Ok($"Product #{id}"); [HttpPost] public IActionResult Add(string name) => Ok($"Added {name}"); } التوجيه في المثال أعلاه يعمل كالتالي: GET /api/products ⟶ GetAll() GET /api/products/5 ⟶ GetById(5) POST /api/pro...

.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; s...

.NET API - إنشاء مشروع ASP.NET Core Web API خطوة بخطوة

1.2 ‎.NET API - إنشاء مشروع ASP.NET Core Web API خطوة بخطوة في هذا الدرس، سنتعلم كيفية إنشاء مشروع Web API باستخدام ASP.NET Core من البداية حتى تشغيل أول Endpoint. هنستخدم Visual Studio أو CLI حسب ما تفضل. 🛠️ الخطوة 1: إنشاء المشروع افتح Visual Studio واختر: File ⮕ New ⮕ Project اختر ASP.NET Core Web API سم المشروع (مثلاً: MyApi ) في صفحة الإعدادات، اختر: ✅ .NET 6 أو أعلى ✅ تعطيل HTTPS (اختياريًا للتجربة) ✅ تمكين OpenAPI (Swagger) أو يمكنك استخدام CLI: dotnet new webapi -n MyApi 📁 هيكل المشروع الناتج Program.cs : نقطة البداية وتشغيل التطبيق. Controllers/WeatherForecastController.cs : مثال جاهز لـ API. appsettings.json : إعدادات المشروع (اتصال بقاعدة البيانات، مفاتيح... إلخ). 🚀 الخطوة 2: تشغيل المشروع من Visual Studio، اضغط F5 أو شغّل المشروع من CLI: cd MyApi dotnet run المتصفح سيفتح صفحة Swagger تلقائيًا: https://localhost:5001/swagger 🔍 الخطوة 3: تجربة أول Endpoint اذهب إلى /WeatherForecast م...

.NET Core - CI/CD باستخدام GitHub Actions أو Azure DevOps

7.4 .NET Core - CI/CD باستخدام GitHub Actions أو Azure DevOps CI/CD تعني "التكامل المستمر / النشر المستمر" (Continuous Integration / Continuous Deployment)، وهي آلية تلقائية لبناء واختبار ونشر الكود عند كل تحديث. في هذا الدرس سنتعرف على استخدام GitHub Actions وAzure DevOps لتطبيقات ‎.NET Core. 🔹 ما هو GitHub Actions؟ GitHub Actions هي منصة تلقائية مدمجة في GitHub تتيح لك تشغيل سكربتات عند أحداث معينة (مثل push أو pull request). 🔧 1) إعداد GitHub Actions لبيئة .NET في مجلد مشروعك على GitHub، أنشئ الملف التالي: .github/workflows/dotnet.yml name: Build and Deploy on: push: branches: [ "main" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup .NET uses: actions/setup-dotnet@v3 with: dotnet-version: '8.0.x' - name: Restore dependencies run: dotnet restore - name: Build run: dotnet build --no-restore - name: Test run...

.NET Core - استخدام Docker مع ‎.NET Core

7.3 .NET Core - استخدام Docker مع ‎.NET Core Docker هو بيئة تشغيل خفيفة الوزن (Containerization) تتيح لك تشغيل تطبيقك في "حاوية" (Container) مع كل ما يحتاجه للعمل. في هذا الدرس سنتعلم كيف تنشئ حاوية Docker لتطبيق ASP.NET Core وتقوم بتشغيله بشكل مستقل عن النظام. 🐋 ما الذي يميز Docker؟ سهولة النشر في أي بيئة (Windows, Linux, Cloud) بيئة تشغيل موحدة للتطبيق ومكتباته أداء قريب من الأداء الأصلي (native) إمكانية التشغيل داخل شبكات خاصة (Containers Networking) 🔹 1) تثبيت Docker Desktop حمل Docker من: https://www.docker.com/products/docker-desktop/ شغل البرنامج وتأكد أنه يعمل (رمز الحوت في شريط المهام) 🔹 2) إنشاء ملف Dockerfile في جذر مشروع ASP.NET Core، أنشئ ملف باسم Dockerfile يحتوي على التالي: FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 80 FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /src COPY . . RUN dotnet publish -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=bu...

.NET Core - نشر التطبيق على IIS

7.1 .NET Core - نشر التطبيق على IIS إذا كنت تستخدم خادم Windows، فإن نشر تطبيق ASP.NET Core على IIS هو طريقة شائعة وفعالة للوصول إليه من الإنترنت أو الشبكة المحلية. في هذا الدرس سنتعلم خطوات إعداد IIS، وتجهيز التطبيق، ورفعه للعمل. 🔹 1) تثبيت المتطلبات على السيرفر تثبيت IIS من ميزات Windows (Server أو Client) تثبيت حزمة ASP.NET Core Hosting Bundle 📥 رابط الحزمة: https://dotnet.microsoft.com/en-us/download/dotnet اختر "Hosting Bundle" للنسخة المناسبة من .NET (مثلاً .NET 6 أو 8) 🔹 2) تجهيز المشروع للنشر افتح الطرفية داخل مشروعك ونفّذ: dotnet publish -c Release -o ./publish 📁 سيتم إنشاء مجلد publish يحتوي على الملفات الجاهزة للنشر. 🔹 3) إنشاء موقع جديد داخل IIS افتح IIS Manager انقر يمينًا على Sites ثم اختر Add Website اختر اسم الموقع (مثلاً: MyWebApi) حدد المسار إلى مجلد publish اختر منفذ (مثل: 8080) أو اسم نطاق داخلي 🔹 4) إعداد صلاحيات الوصول للمجلد امنح صلاحية "قراءة وتشغيل" لحساب المستخدم: I...