def _process_request_body(self):
    """Processes the request body from the OpenAPI operation."""
    request_body = self._operation.requestBody
    if not request_body:
      return

    content = request_body.content or {}
    if not content:
      return

    # If request body is an object, expand the properties as parameters
    for _, media_type_object in content.items():
      schema = media_type_object.schema_ or {}
      description = request_body.description or ''

      if schema and schema.type == 'object':
        properties = schema.properties or {}
        for prop_name, prop_details in properties.items():
          self._params.append(
              ApiParameter(
                  original_name=prop_name,
                  param_location='body',
                  param_schema=prop_details,
                  description=prop_details.description,
              )
          )

      elif schema and schema.type == 'array':
        self._params.append(
            ApiParameter(
                original_name='array',
                param_location='body',
                param_schema=schema,
                description=description,
            )
        )
      else:
        self._params.append(
            # Empty name for unnamed body param
            ApiParameter(
                original_name='',
                param_location='body',
                param_schema=schema,
                description=description,
            )
        )
      break  # Process first mime type only
Processes the request body from the OpenAPI operation.
src/google/adk/tools/openapi_tool/openapi_spec_parser/operation_parser.py