API Design¶
"An API is like a bady: it's fun to make, but you have to support it for 18 years."
- Ty Smith, Mobile Tech Lead Manager, Uber
API Documentation¶
Open API for synchronous REST APIs.
Asynchro API for message-driven architectures.
WSDL for SOAP Web Services.
REST API Versioning¶
Approaches for versioning of REST API:
- URL path
- Media types
- Custom headers
- Query parameters
API Idempotent¶
Lessons Learned¶
-
Design your API very thoroughly before releasing the first version.
-
Prioritize using Contract-First development and complement it with standard API documentation to describe the API.
-
Try to maintain backward compatibility as long as possible.
-
Consider to create a new api or version when a breaking change is made.
-
Document the used versioning strategy.
-
Don't forget to notify your API consumers for any changes.
-
API Versioning, Strategies & Pitfalls - Thilo Frotscher ↩