### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I am creating an API Gateway with a Lambda Authorizer via a CloudFormation stack. The stack specifies a data mapping from the request body passed to the API to the request body expected by Kinesis (search `RequestTemplates` in the attached CloudFormation template). It also specifies a model and a validator which are used to validate the request body. Both of these aspects of the API work in AWS itself but appear to be ignored in LocalStack. 

If I test with the same request body I passed to AWS, LocalStack throws an error indicating that the PutRecord call to Kinesis isn't providing a PartitionKey field. The data mapping should've taken care of it. If I then invoke the API in LocalStack with what *should* be sent to Kinesis, the invocation succeeds. This second invocation *should* violate the validation logic in the template, but doesn't. 

### Expected Behavior

The data mapping should correctly map the passed-in request body to a request body which Kinesis can understand. In addition, the validator should reject requests that don't pass validation.

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

docker run --rm -it -p 4566:4566 -p 4571:4571 -e LOCALSTACK_API_KEY=$env:LOCALSTACK_API_KEY localstack/localstack

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

```
# create s3 bucket and upload c# lambda authorizer zip to s3
aws --endpoint-url=http://localhost:4566 s3api create-bucket --bucket timeseries-ingest-lambda-artifacts
aws --endpoint-url=http://localhost:4566 s3 cp index.zip s3://timeseries-ingest-lambda-artifacts/KinesisAPILambdaAuthorizer/index.zip
# create stream
aws --endpoint-url=http://localhost:4566 kinesis create-stream --stream-name test-timeseries-ingest-stream --shard-count 1
# create stack
aws --endpoint-url=http://localhost:4566 cloudformation create-stack --stack-name test-kinesis-api --template-body file://cloudformation-kinesis-api-resources-PER-ENVIRONMENT.yaml --parameters ParameterKey=AppName,ParameterValue=timeseries-ingest ParameterKey=Environment,ParameterValue=test
```

This is the CloudFormation template: [cloudformation-kinesis-api-resources-PER-ENVIRONMENT.yaml.txt](https://github.com/localstack/localstack/files/7973188/cloudformation-kinesis-api-resources-PER-ENVIRONMENT.yaml.txt)

### Environment

```markdown
- OS: Ubuntu 20.04
- LocalStack: latest (as of 3 days ago)
```


### Anything else?

_No response_
import base64
import json
import os
import re
import unittest
from collections import namedtuple
from typing import Callable, Optional
from unittest.mock import patch
import xmltodict
from botocore.exceptions import ClientError
from jsonpatch import apply_patch
from requests.s import Response
from requests.structures import CaseInsensitiveDict
from localstack import config
from localstack.constants import (
    APPLICATION_JSON,
    HEADER_LOCALSTACK_REQUEST_URL,
    LOCALHOST_HOSTNAME,
    TEST_AWS_ACCOUNT_ID,
)
from localstack.services.apigateway.helpers import (
    TAG_KEY_CUSTOM_ID,
    connect_api_gateway_to_sqs,