From cba5739d02c113c05c40566b263dc0b927946ee2 Mon Sep 17 00:00:00 2001 From: Alexander Malev Date: Sun, 25 Feb 2018 02:52:30 +0300 Subject: [PATCH] parameters in PathItem --- aiohttp_apiset/swagger/router.py | 4 ++++ tests/data/file.yaml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/aiohttp_apiset/swagger/router.py b/aiohttp_apiset/swagger/router.py index 350f5b6..debdbca 100644 --- a/aiohttp_apiset/swagger/router.py +++ b/aiohttp_apiset/swagger/router.py @@ -176,12 +176,16 @@ def include(self, spec, *, url = basePath + url methods = methods.copy() location_name = methods.pop(self.NAME, None) + parameters = methods.pop('parameters', []) for method, body in methods.items(): if method == self.VIEW: view = utils.import_obj(body) view.add_routes(self, prefix=url, encoding=self._encoding) continue body = body.copy() + if parameters: + body['parameters'] = parameters + \ + body.get('parameters', []) handler = body.pop(self.HANDLER, None) name = location_name or handler if not handler: diff --git a/tests/data/file.yaml b/tests/data/file.yaml index 26525f3..cb22ea3 100644 --- a/tests/data/file.yaml +++ b/tests/data/file.yaml @@ -68,6 +68,10 @@ paths: $handler: tests.conftest.SimpleView.return_json '/{id}': + parameters: + - name: id + in: path + type: integer get: description: test