Skip to content

Commit 8ebeb30

Browse files
committed
make get_reference public
1 parent 35c0abf commit 8ebeb30

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

docs/api-guide/schemas.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,11 @@ Computes the component's name from the serializer.
313313

314314
You may see warnings if your API has duplicate component names. If so you can override `get_component_name()` or pass the `component_name` `__init__()` kwarg (see below) to provide different names.
315315

316+
#### `get_reference()`
317+
318+
Returns a reference to the serializer component. This may be useful if you override `get_schema()`.
319+
320+
316321
#### `map_serializer()`
317322

318323
Maps serializers to their OpenAPI representations.

rest_framework/schemas/openapi.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ def get_serializer(self, path, method):
615615
.format(view.__class__.__name__, method, path))
616616
return None
617617

618-
def _get_reference(self, serializer):
618+
def get_reference(self, serializer):
619619
return {'$ref': '#/components/schemas/{}'.format(self.get_component_name(serializer))}
620620

621621
def get_request_body(self, path, method):
@@ -629,7 +629,7 @@ def get_request_body(self, path, method):
629629
if not isinstance(serializer, serializers.Serializer):
630630
item_schema = {}
631631
else:
632-
item_schema = self._get_reference(serializer)
632+
item_schema = self.get_reference(serializer)
633633

634634
return {
635635
'content': {
@@ -653,7 +653,7 @@ def get_responses(self, path, method):
653653
if not isinstance(serializer, serializers.Serializer):
654654
item_schema = {}
655655
else:
656-
item_schema = self._get_reference(serializer)
656+
item_schema = self.get_reference(serializer)
657657

658658
if is_list_view(path, method, self.view):
659659
response_schema = {

0 commit comments

Comments
 (0)