diff --git a/app/core/openapi/schemas.py b/app/core/openapi/schemas.py new file mode 100644 index 0000000..065470a --- /dev/null +++ b/app/core/openapi/schemas.py @@ -0,0 +1,13 @@ +from drf_spectacular.openapi import AutoSchema +from drf_spectacular.utils import OpenApiParameter + + +class BackendAutoSchema(AutoSchema): + global_params = [ + OpenApiParameter( + name="Accept-Language", location=OpenApiParameter.HEADER, description="`ko` or `en`. Default value is `ko`" + ) + ] + + def get_override_parameters(self) -> list[OpenApiParameter]: + return super().get_override_parameters() + self.global_params diff --git a/app/core/settings.py b/app/core/settings.py index 739e5d9..f480f40 100644 --- a/app/core/settings.py +++ b/app/core/settings.py @@ -169,6 +169,7 @@ "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", + "django.middleware.locale.LocaleMiddleware", # CORS "corsheaders.middleware.CorsMiddleware", # simple-history @@ -312,7 +313,7 @@ # Django Rest Framework Settings REST_FRAMEWORK = { "DEFAULT_VERSIONING_CLASS": "rest_framework.versioning.NamespaceVersioning", - "DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema", + "DEFAULT_SCHEMA_CLASS": "core.openapi.schemas.BackendAutoSchema", "DEFAULT_RENDERER_CLASSES": ("rest_framework.renderers.JSONRenderer",), "EXCEPTION_HANDLER": "drf_standardized_errors.handler.exception_handler", "DEFAULT_FILTER_BACKENDS": ("django_filters.rest_framework.DjangoFilterBackend",),