From d5f8fb9a960edeb37f723a86a70cd0398950122a Mon Sep 17 00:00:00 2001 From: Alexei Kornienko Date: Mon, 22 Jul 2019 20:19:22 +0300 Subject: [PATCH] Adds posibility to provide data definitions --- aiohttp_swagger/__init__.py | 2 ++ aiohttp_swagger/helpers/builders.py | 2 ++ aiohttp_swagger/templates/swagger.yaml | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/aiohttp_swagger/__init__.py b/aiohttp_swagger/__init__.py index c6b1fff..43f0f5a 100644 --- a/aiohttp_swagger/__init__.py +++ b/aiohttp_swagger/__init__.py @@ -47,6 +47,7 @@ def setup_swagger(app: web.Application, swagger_home_decor: FunctionType = None, swagger_def_decor: FunctionType = None, swagger_info: dict = None, + definitions: dict = None, security_definitions: dict = None): _swagger_url = ("/{}".format(swagger_url) if not swagger_url.startswith("/") @@ -62,6 +63,7 @@ def setup_swagger(app: web.Application, swagger_info = generate_doc_from_each_end_point( app, api_base_url=api_base_url, description=description, api_version=api_version, title=title, contact=contact, + definitions=definitions, security_definitions=security_definitions, ) else: diff --git a/aiohttp_swagger/helpers/builders.py b/aiohttp_swagger/helpers/builders.py index dced863..09e52ac 100644 --- a/aiohttp_swagger/helpers/builders.py +++ b/aiohttp_swagger/helpers/builders.py @@ -68,6 +68,7 @@ def generate_doc_from_each_end_point( api_version: str = "1.0.0", title: str = "Swagger API", contact: str = "", + definitions: dict = None, security_definitions: dict = None): # Clean description _start_desc = 0 @@ -98,6 +99,7 @@ def nesteddict2yaml(d, indent=10, result=""): title=title, contact=contact, base_path=api_base_url, + definitions=definitions, security_definitions=security_definitions) ) diff --git a/aiohttp_swagger/templates/swagger.yaml b/aiohttp_swagger/templates/swagger.yaml index 3642c4f..72789dc 100644 --- a/aiohttp_swagger/templates/swagger.yaml +++ b/aiohttp_swagger/templates/swagger.yaml @@ -12,6 +12,10 @@ basePath: {{ base_path }} schemes: - http - https +{% if definitions %} +definitions: +{{ definitions|nesteddict2yaml }} +{% endif %} {% if security_definitions %} securityDefinitions: {{ security_definitions|nesteddict2yaml }}