Browse Source

Fix response_model being set to None for non-generator endpoints

Yurii Motov 4 months ago
parent
commit
9f917e4887
  1. 9
      fastapi/routing.py

9
fastapi/routing.py

@ -932,10 +932,11 @@ class APIRoute(routing.Route):
response_model = None response_model = None
else: else:
stream_item = get_stream_item_type(return_annotation) stream_item = get_stream_item_type(return_annotation)
if stream_item is not None: if stream_item is not None and is_generator:
# Extract item type for JSONL or SSE streaming when # Extract item type for JSONL or SSE streaming for
# response_class is DefaultPlaceholder (JSONL) or # generator endpoints when response_class is
# EventSourceResponse (SSE). # DefaultPlaceholder (JSONL) or EventSourceResponse
# (SSE).
# ServerSentEvent is excluded: it's a transport # ServerSentEvent is excluded: it's a transport
# wrapper, not a data model, so it shouldn't feed # wrapper, not a data model, so it shouldn't feed
# into validation or OpenAPI schema generation. # into validation or OpenAPI schema generation.

Loading…
Cancel
Save