This project contain web api use-case samples to build restful services for any applications
- Validation - FluentValidation for model validation
- Data Access Framework - ORM - EntityFrameworkCore - Generic Repository
- MediaTypeFormatter - WebAPIContrib.Core
- Json PATCH - Microsoft.AspNetCore.JsonPatch
- Database - Local SQL Server
- Project Details
- See Data Model by class diagram
- See Project Structure
- Simple CRUD Operations 馃啑
- GET, POST, DELETE, PUT, HEAD, PATCH
- Bulk Operations 馃啑
- Filtering, searching and paging Operations 馃啑
- Consume External API 馃啑
- HttpClient
- ApiService
- Request/Response Loging 馃啑
- Model Validations 馃啑
- Versioning 馃啑
- XML/JSON Output 馃啑
- MediaType Formatters
- Plain-Text 馃啑
- CSV 馃啑
- BSON 馃啑 - Binary JSON
- Transactional Web Api
- Api Licesing 馃
- OData (Open Data Protocol) 馃啑
- Microsoft.AspNetCore.OData
- About Standarts
- Links
- Microservices 馃毄
- API Gateway 馃毄
- Caching 馃啑
- Memory Cache
- Http Cache-Control
- Asynchronous Web Api 馃啑
- Content Compression (GZIP or Deflate)
- Faster Data Access 馃
- Consider alternatives ; ADO.NET, Dapper, Nosql Databases
- Thottling Web API
- Tiers of Throttling
- API-level throttling
- Application-level throttling
- User-level throttling
- Account-level throttling
- Rate-Limit Throttling
- IP-level Throttling 馃啑
- WhiteListing - Allow traffic only to known addresses
- BlackListing - Deny traffic to known addresses
- Scope Limit Throttling
- Concurrent Connections Limit
- Resource-level Throttling
- Tiers of Throttling
- Authentication - JWT 馃啑
- Authorization
- Unit Test
- Load Test
- Scheduled Api Tester
- Health Check Page
- Status Page for API and System
- Swagger 馃啑
- Postman 馃啑
- API Portal 馃帀
Pull requests are welcome, but make sure you sign the Contributor License Agreement.
ApiNET is licensed under the MIT license. Check the LICENSE file for details.