[PATCH 2/2] REST: Allow users to omit version entirely

Stephen Finucane stephen at that.guru
Thu Apr 27 09:58:04 AEST 2017


This is super handy for debugging/development of Patchwork and Patchwork
clients alike.

Signed-off-by: Stephen Finucane <stephen at that.guru>
---
 docs/api/rest.rst | 17 +++++++++++++++++
 patchwork/urls.py |  2 +-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/docs/api/rest.rst b/docs/api/rest.rst
index 75e31f6..1750913 100644
--- a/docs/api/rest.rst
+++ b/docs/api/rest.rst
@@ -86,6 +86,23 @@ overview of existing API clients, refer to :doc:`../usage/clients`.
     own instance of Patchwork locally <../development/installation>` and
     experiment with that instead.
 
+Versioning
+----------
+
+By default, all requests will receive the latest version of the API: currently
+``1.0``:
+
+.. code-block:: http
+
+    GET /api HTTP/1.1
+
+You should explicitly request this version through the URL to prevent API
+changes breaking your application:
+
+.. code-block:: http
+
+    GET /api/1.0 HTTP/1.1
+
 Schema
 ------
 
diff --git a/patchwork/urls.py b/patchwork/urls.py
index 8c8c172..f700f38 100644
--- a/patchwork/urls.py
+++ b/patchwork/urls.py
@@ -232,7 +232,7 @@ if settings.ENABLE_REST_API:
     ]
 
     urlpatterns += [
-        url(r'^api/(?P<version>(1.0))/', include(api_patterns)),
+        url(r'^api/(?:(?P<version>(1.0))/)?', include(api_patterns)),
     ]
 
 
-- 
2.9.3



More information about the Patchwork mailing list