README.md : Adding API versioning section.

This commit is contained in:
Maxime Delporte
2025-10-10 15:35:05 +02:00
parent b0ed205fdb
commit 7e1a0ac66a

View File

@@ -35,3 +35,11 @@ Content-Type: text/plain; charset=utf-8
status: available
environment: development
version: 1.0.0
## API Versioning
There are two comon approaches to doing this :
1. By prefixing all URLs with your API version, like **/v1/healthcheck** or **/v2/healthcheck**
2. By using custom **Accept** and **Content-Type** headers on requests and responses to convey the API version, like **Accept: application/vnd.greenlight-v1**
From a HTTP semantics point of view, using headers to convey the API version is the 'purer' approach. But from a user-experience point of view, using a URL prefix is arguably better. It makes it possible for developers to see which version of the API is being used at a glance, and it also means that the API can still be explored using a regular web browser (which is hearder if custom headers are required).