Use Default Version in URLPathVersioning if 'version' Didn't Passed

This commit is contained in:
Yaser Khahani 2018-12-24 11:37:40 +03:30
parent 5fd12d1b16
commit 670e44328b

View File

@ -74,7 +74,17 @@ class URLPathVersioning(BaseVersioning):
invalid_version_message = _('Invalid version in URL path.')
def determine_version(self, request, *args, **kwargs):
"""
Use Default Version If 'version' Did Not Sets by Client in URL (So, It's Equal to None).
e.g:
api/users/ > Use Default Version (As Often The Default Version Is The Latest One).
api/v1/users/ > Check 'v1' Is Allowed?
"""
version = kwargs.get(self.version_param, self.default_version)
if version is None:
version = self.default_version
if not self.is_allowed_version(version):
raise exceptions.NotFound(self.invalid_version_message)
return version