Skip to content

Commit 658c622

Browse files
authored
Merge pull request #12 from pythonkr/chore/response-by-accept-language-header
chore: `Accept-Language` 헤더에 따라 응답 언어가 변경되도록 수정
2 parents 014c643 + c1bbf7d commit 658c622

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

app/core/openapi/schemas.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from drf_spectacular.openapi import AutoSchema
2+
from drf_spectacular.utils import OpenApiParameter
3+
4+
5+
class BackendAutoSchema(AutoSchema):
6+
global_params = [
7+
OpenApiParameter(
8+
name="Accept-Language", location=OpenApiParameter.HEADER, description="`ko` or `en`. Default value is `ko`"
9+
)
10+
]
11+
12+
def get_override_parameters(self) -> list[OpenApiParameter]:
13+
return super().get_override_parameters() + self.global_params

app/core/settings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@
169169
"django.contrib.auth.middleware.AuthenticationMiddleware",
170170
"django.contrib.messages.middleware.MessageMiddleware",
171171
"django.middleware.clickjacking.XFrameOptionsMiddleware",
172+
"django.middleware.locale.LocaleMiddleware",
172173
# CORS
173174
"corsheaders.middleware.CorsMiddleware",
174175
# simple-history
@@ -312,7 +313,7 @@
312313
# Django Rest Framework Settings
313314
REST_FRAMEWORK = {
314315
"DEFAULT_VERSIONING_CLASS": "rest_framework.versioning.NamespaceVersioning",
315-
"DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema",
316+
"DEFAULT_SCHEMA_CLASS": "core.openapi.schemas.BackendAutoSchema",
316317
"DEFAULT_RENDERER_CLASSES": ("rest_framework.renderers.JSONRenderer",),
317318
"EXCEPTION_HANDLER": "drf_standardized_errors.handler.exception_handler",
318319
"DEFAULT_FILTER_BACKENDS": ("django_filters.rest_framework.DjangoFilterBackend",),

0 commit comments

Comments
 (0)