Slide 2
Slide 2 text
Types of API versioning
- URI based (globally at the API level, at resource level, in query params)
http://api.example.com/v1.2.3/person and/or http://api.example.com/v2.1.1/company
a. Resource identifier is intermingled with the API implementation detail
b. API caching, bookmarking, crawling at the client becomes difficult
c. Very coarse-grained and limits independent evolution of subcomponents
d. End to end testing nightmare
- Mime-based resource versioning (i.e: github api versioning) -
https://api.github.com/users/octocat/orgs
Accept: application/vnd.github.v3+json
- Clever trick to keep the URI intact, so the identifier is constant across
- Same drawbacks as URI based versioning on point C and D above