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.