Ex выход:

меня есть API-шлюз, созданный с использованием определений Swagger 2.0 с

Расширения API GatewayЯ переопределил ответы API Gateway по умолчанию, например:.

x-amazon-apigateway-gateway-responses:
  BAD_REQUEST_BODY:
    statusCode: 400
    responseTemplates:
      application/json: |
        {
          "error": {
            "code": 400,
            "stage": "$context.stage",
            "request": "$context.requestId",
            "message": "$context.error.message"
          }
        }

 в вышеупомянутой полезной нагрузке происходит от$contextПеременные API-шлюзаПример ресурса / метода в моем API выглядит следующим образом (всегда.

 интеграций):LAMBDA_PROXYС соответствующим определением полезной нагрузки запроса:

paths:
  /test:
    post:
      parameters:
        - in: body
          name: Test
          required: true
          schema:
          $ref: "#/definitions/Test"
      responses:
        201:
          description: Created
        400:
          description: Bad Request
        401:
          description: Unauthorized
        403:
          description: Forbidden
      x-amazon-apigateway-integration:
      uri: >-
        arn:aws:apigateway:${region}:lambda:path/2015-03-31/functions/${lambda}/invocations
      type: aws_proxy
      httpMethod: POST
      credentials: "${credentials}"
      passthroughBehavior: never

И

definitions:
  Test:
    type: object
    title: Test
    required:
      - date
    properties:
      date:
        type: string
        pattern: "^20[0-9]{2}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"
        description: Date in YYYY-MM-DD Format

запрос расширения валидаторапроблема:

x-amazon-apigateway-request-validator: body
x-amazon-apigateway-request-validators:
  body:
    validateRequestBody: true
    validateRequestParameters: false
Когда я вызываю эту конечную точку с отсутствующей или недействительной

Я всегда получаю один и тот же ответ:dateОднако, когда я тестирую его через консоль API Gateway без

{
    "error": {
        "code": 400,
        "stage": "latest",
        "request": "6b7a64f5-e7f0-11e7-845b-f53ceb4cb049",
        "message": "Invalid request body"
    }
}

 свойство:dateИ с инвалидом

Request body does not match model schema for content type application/json: [
  object has missing required properties (["date"])
]

Вопросdate:

Request body does not match model schema for content type application/json: [
  ECMA 262 regex "^20[0-9]{2}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$" does not match input string "2017/12/25"
]
Как получить доступ к подробному сообщению об ошибке, чтобы я мог дополнить свой ответ об ошибке более описательным сообщением, чем

? Я подозреваю, что это должно быть возможно, возможно, используяInvalid request body картирование, но до сих пор я не смог это сделать.x-amazon-apigateway-gateway-responses(Разработчик на API Gateway)

Ответы на вопрос(4)

Ваш ответ на вопрос