هذا رأيي ، أعمل باستمرار في التقدم ، قالب بداية ، لبناء واجهات برمجة التطبيقات الراحة.
هذا القالب مناسب لك إذا كنت ترغب فقط في البدء في الترميز ، وتريد هيكل مشروع مدروس بالفعل ، وهو بسيط للغاية وسريع للتعلم ، ويعمل على مشاريع أصغر وأكبر على ما يرام.
app -> App and related files
├─> src -> App source
│ ├─> Web -> Entry point for API - runnable project
│ │ ├─> Controllers -> API endpoints
│ │ ├─> Extensions -> Extension methods
│ │ ├─> Interfaces -> Web project's interfaces
│ │ ├─> Mappers -> Model mappers
│ │ ├─> Middlewares -> Middlewares (e.g. global error handling)
│ │ |─> Models -> Models in and out of API
│ │ ├─> Settings -> Options pattern for App (e.g. connection strings)
│ │ ├─> Validators -> Model validation rules
│ │ ├── Program.cs -> START
│ │ └── Startup.cs -> START
│ ├─> Core -> Holds business logic
│ │ ├─> Dtos -> Data-transfer-object (used for business logic)
│ │ ├─> Entities -> Entity Framework entities for database
│ │ ├─> Interfaces -> Core project's interfaces
│ │ ├─> Mappers -> Dto and Entity mappers
│ │ ├─> Services -> Business logic services
│ └─> Infrastructure -> Data access and external services
│ ├─> Database -> Database access
│ │ ├─> Configurations -> Entity Framework table configurations
│ │ ├─> Migrations -> Entity Framework autogenerated migrations
│ │ ├─> Repositories -> Repository pattern
│ │ ├── AppDbContext.cs -> Base context
│ │ ├── AppSeed.cs -> Database seeding
│ │ └── EfRepository.cs -> Base repository
│ └─> ExternalServices -> Services that access external services (e.g. ext. email service)
└─> tests -> App tests
├── FunctionalTests -> Endpoint tests etc.
│ ├─> Tests -> All tests
│ └─> Utils -> Utility functions (e.g. test database setup)
├── IntegrationTests -> Database tests etc.
│ ├─> Tests -> All tests
│ ├─> Utils -> Utilities functions (e.g. test database setup)
├── UnitTests -> Application logic tests etc.
│ ├─> Tests -> All tests
│ ├─> Utils -> Utility functions
└── Shared -> Model builders and other shared functions for tests
dotnet tool install --global dotnet-ef
dotnet ef database update -c ApplicationDbContext -p . /src/Infrastructure/Infrastructure.csproj -s . /src/Web/Web.csprojMyWebAPITemplate.slnF5 أو Debug/Start Debugging dotnet run -p . /src/Web/عندما تحتاج إلى إنشاء ترحيل جديد (عند تغيير مخطط قاعدة البيانات) ، قم بتشغيل هذا الأمر لإخبار إطار الكيان للتعامل مع تغييرات المخطط المطلوبة لقاعدة البيانات.
dotnet ef migrations add NewMigrationNameHere --context ApplicationDbContext -p . /src/Infrastructure/Infrastructure.csproj -s . /src/Web/Web.csproj -o Database /Migrations بدأ هذا المشروع كطريقي للتعامل مع تدفق المعلومات لكل شيء يجب القيام به عند بناء واجهات برمجة التطبيقات بطريقة متجانسة واحدة. هناك الكثير من الأشياء التي يجب تذكرها وهناك قدر كبير من الخيارات التي يتعين اتخاذها. لذلك ، صنعت هذا القالب ، بنفسي ، لتخزين جميع الممارسات التي وجدتها عملية وآمل أن يساعد هذا القالب أيضًا شخصًا آخر على تعلم شيء أو اثنين.
في هذا القالب ، جمعت معرفتي ببناء API بتنسيق عملي. يتم اتخاذ التفضيلات المعمارية ، واختيارات المكتبات والخيارات الأخرى ، بناءً على أفضل الممارسات والشعبية وتفضيلاتي الخاصة. الغرض من هذا القالب ، هو توفير مثال أساسي جيد على كيفية إنشاء واجهات برمجة التطبيقات REST مع ASP.NET قابلة للتطوير وسهلة الاستخدام وتحتوي على تكوينات ضرورية وغيرها من الأشياء الجيدة. هذا القالب مستوحى من تطبيق مرجع Microsoft Eshoponweb وغيرها الكثير.
تم ترخيص هذا المشروع - لذلك لا تتردد في استخدامه على أي حال. يتم الترحيب بالاقتراحات والمساعدة. ؟