{{#if operation.data}}
  {{#if options.validateRequest}}
    const bodySchema = {{json operation.data}};
    const isBodyValid = ajv.validate(bodySchema, data);

    if (!isBodyValid) {
      throw new RequestValidationError({
        message: 'Request body schema validation error',
        method: '{{operation.name}}',
        element: 'body',
        errors: ajv.errors || [],
      });
    }
  {{/if}}

  let requestParams;
  let body = null;

  if (data && typeof data === 'object') {
    {{#if (eq operation.mimeType 'application/x-www-form-urlencoded')}}
      body = jsToUrlEncoded(data);
    {{else if (eq operation.mimeType 'multipart/form-data')}}
      body = objectToFormData(data);
    {{else}}
      body = JSON.stringify(data);
    {{/if}}
  }

  if (body) {
    requestParams = {
      method: '{{operation.method}}',
      headers: requestHeaders,
      body,
    };
  } else {
    requestParams = {
      method: '{{operation.method}}',
      headers: requestHeaders,
    };
  }

{{else}}
  const requestParams = {
    method: '{{operation.method}}',
    headers: requestHeaders,
  };
{{/if}}
