Open staplegun opened 6 years ago
Versioning strategy
Follow Semantic Versioning with 'two dots': major.minor.patch
API version development and release
Aim: Reduce the number of different versions to be maintained in parallel.
v0
, v1
, etc. - the software state reflects the most recent minor versionv0
, v1
, etc. - the API will return the state of the most recent minor versionExample: An API call requesting v2.4.3
will return the most recent version 2, which might actually be a later minor release v2.5.1
Versioning implementation
simple-v0
, simple-v1
. The shim extracts the appropriate JSON from the Solr record based on the version requested by the API consumerCode changes
trix-description-to-dc-v1.xsl
, trix-description-to-dc-v2.xsl
API content negotiation for version
JSON-LD
Accept: application/ld+json; profile="http://data.nma.gov.au/term/collection-api-version-0"
JSON
application/json
- See: RESTFul API Versioning InsightsAccept: application/vnd.nma.collection.api.v1+json
Accept: application/x.nma.collection.api.v1+json
The API response should include the version being delivered
ContentType: application/vnd.nma.collection.api.v1+json
Define and implement the API release versioning strategy.