MCPcopy
hub / github.com/fastapi/fastapi / get_openapi_operation_request_body

Function get_openapi_operation_request_body

fastapi/openapi/utils.py:180–212  ·  view source on GitHub ↗
(
    *,
    body_field: ModelField | None,
    model_name_map: ModelNameMap,
    field_mapping: dict[
        tuple[ModelField, Literal["validation", "serialization"]], dict[str, Any]
    ],
    separate_input_output_schemas: bool = True,
)

Source from the content-addressed store, hash-verified

178
179
180def get_openapi_operation_request_body(
181 *,
182 body_field: ModelField | None,
183 model_name_map: ModelNameMap,
184 field_mapping: dict[
185 tuple[ModelField, Literal["validation", "serialization"]], dict[str, Any]
186 ],
187 separate_input_output_schemas: bool = True,
188) -> dict[str, Any] | None:
189 if not body_field:
190 return None
191 assert isinstance(body_field, ModelField)
192 body_schema = get_schema_from_model_field(
193 field=body_field,
194 model_name_map=model_name_map,
195 field_mapping=field_mapping,
196 separate_input_output_schemas=separate_input_output_schemas,
197 )
198 field_info = cast(Body, body_field.field_info)
199 request_media_type = field_info.media_type
200 required = body_field.field_info.is_required()
201 request_body_oai: dict[str, Any] = {}
202 if required:
203 request_body_oai["required"] = required
204 request_media_content: dict[str, Any] = {"schema": body_schema}
205 if field_info.openapi_examples:
206 request_media_content["examples"] = jsonable_encoder(
207 field_info.openapi_examples
208 )
209 elif field_info.example is not _Unset:
210 request_media_content["example"] = jsonable_encoder(field_info.example)
211 request_body_oai["content"] = {request_media_type: request_media_content}
212 return request_body_oai
213
214
215def generate_operation_id(

Callers 1

get_openapi_pathFunction · 0.85

Calls 2

jsonable_encoderFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…