Skip to content

Latest commit

History

History
117 lines (103 loc) 路 3.95 KB

README.md

File metadata and controls

117 lines (103 loc) 路 3.95 KB

ApiNET

This project contain web api use-case samples to build restful services for any applications

Technical Specifications

Use-Cases

  • 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 Services with Web Api

Concepts

  • Microservices 馃毄
  • API Gateway 馃毄

Performance

  • Caching 馃啑
    • Memory Cache
    • Http Cache-Control
  • Asynchronous Web Api 馃啑
  • Content Compression (GZIP or Deflate)
  • Faster Data Access 馃
    • Consider alternatives ; ADO.NET, Dapper, Nosql Databases

Security

  • 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
  • Authentication - JWT 馃啑
  • Authorization

Testing

Documentation

Tools

Code Quality-Refactoring

Useful Links

Contribution

Pull requests are welcome, but make sure you sign the Contributor License Agreement.

License

ApiNET is licensed under the MIT license. Check the LICENSE file for details.