https://github.com/scottlilly/robustapitemplate
Template to use when building C# REST APIs for clients
https://github.com/scottlilly/robustapitemplate
csharp rest-api robust
Last synced: 6 months ago
JSON representation
Template to use when building C# REST APIs for clients
- Host: GitHub
- URL: https://github.com/scottlilly/robustapitemplate
- Owner: ScottLilly
- License: mit
- Created: 2024-09-05T11:04:30.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-18T15:50:53.000Z (11 months ago)
- Last Synced: 2025-05-18T16:37:58.075Z (11 months ago)
- Topics: csharp, rest-api, robust
- Language: C#
- Homepage:
- Size: 39.1 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# RobustApiTemplate
This project is for me to test different techniques to use when building an API, to make it more robust and easier to support.
## Things I will be covering (strikethrough indicates feature is completed)
- Secure key management
- Endpoint versioning
- Enforce HTTPS/TLS
- Authentication
- Authorization
- ~~Request size limits~~
- ~~Add CorrelationID to requests, visible downstream, for request/response/error logging~~
- Rate-limiting (to prevent DDoS)
- Logging requests, responses, and exceptions
- Prevent logging sensitive data
- Thorough request data validation and cleansing, with clear error responses
- Error-handling, with clear error responses
- ~~Monitoring the service (including having a heartbeat endpoint)~~
- Sending out alerts
- Deployment/installation
## Possible feaures
- Replaying requests
## Things I won’t be covering (for now)
- Maxing out performance
- Caching
- Scaling
- Containerization
- Load-balancing