{{#if operation.params}}
  {{#if options.validateRequest}}
    const paramsSchema = {{json operation.params}};

    function isParams(obj: unknown): obj is {{capitalize operation.name}}Params {
      const isValid = ajv.validate(paramsSchema, obj);

      return !!isValid;
    }

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

  type {{capitalize operation.name}}ParamsKeys = keyof {{capitalize operation.name}}Params;

  const paramsKeys = Object.keys(params) as {{capitalize operation.name}}ParamsKeys[];

  if (paramsKeys.length) {
    paramsKeys.forEach((param) => {
      requestUrl = requestUrl.replace(`{${param}}`, encodeURIComponent(String(params[param])));
    });
  }
{{/if}}
