From b8960d57c8cc2d1ca069afca9414ecceaa93a59e Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Fri, 14 Mar 2025 16:23:05 +0800 Subject: [PATCH] fix: schema access failure to https --- apps/common/config/swagger_conf.py | 12 ++++++------ apps/smartdoc/settings/base.py | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/common/config/swagger_conf.py b/apps/common/config/swagger_conf.py index 15a742274..d17486d53 100644 --- a/apps/common/config/swagger_conf.py +++ b/apps/common/config/swagger_conf.py @@ -6,7 +6,7 @@ @date:2023/9/5 14:01 @desc: 用于swagger 分组 """ - +from drf_yasg.generators import OpenAPISchemaGenerator from drf_yasg.inspectors import SwaggerAutoSchema tags_dict = { @@ -20,10 +20,10 @@ class CustomSwaggerAutoSchema(SwaggerAutoSchema): if "api" in tags and operation_keys: return [tags_dict.get(operation_keys[1]) if operation_keys[1] in tags_dict else operation_keys[1]] return tags + + +class CustomOpenAPISchemaGenerator(OpenAPISchemaGenerator): def get_schema(self, request=None, public=False): schema = super().get_schema(request, public) - if request.is_secure(): - schema.schemes = ['https'] - else: - schema.schemes = ['http'] - return schema \ No newline at end of file + schema.schemes = ['https', 'http'] + return schema diff --git a/apps/smartdoc/settings/base.py b/apps/smartdoc/settings/base.py index b804c637e..51c9d14d7 100644 --- a/apps/smartdoc/settings/base.py +++ b/apps/smartdoc/settings/base.py @@ -86,6 +86,7 @@ TEMPLATES = [ SWAGGER_SETTINGS = { 'DEFAULT_AUTO_SCHEMA_CLASS': 'common.config.swagger_conf.CustomSwaggerAutoSchema', + 'DEFAULT_GENERATOR_CLASS': 'common.config.swagger_conf.CustomOpenAPISchemaGenerator', "DEFAULT_MODEL_RENDERING": "example", 'USE_SESSION_AUTH': False, 'SECURITY_DEFINITIONS': {