Skip to content

yemrekeskin/ApiNET

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

60 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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.

About

πŸ›  πŸ—Ί πŸ“‘ ApiNET contain web api use-case samples to build restful services for any applications

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages