Ответ макета конечной точки API Gateway с помощью компонента swagger - PullRequest
0 голосов
/ 08 мая 2020

У меня есть большой файл swagger с множеством вложенных компонентов, для каждого из которых указаны примеры. Я использую x-amazon-apigateway-integration для настройки фиктивной конечной точки, например:

x-amazon-apigateway-integration:
        responses:
          default:
            statusCode: "200"
            responseParameters:
              method.response.header.Access-Control-Allow-Origin: "'*'"
            responseTemplates:
              application/json: "{\n  \"filepath\": \"path/to/file.pdf"\
                ,\n  \"file_exists\": true,\n  \"last_viewed\": \"01.01.2020\",\n\
                \  \"title\": \"My Document title\",\n  \"doc_class\": \"BB\",\n \
                \ \"source\": \"Wikipedia\",\n  \"doc_type\": \"Funky Document Type\"\
                \n}"
        requestTemplates:
          application/json: "{\"statusCode\": 200}"
        passthroughBehavior: "when_no_match"
        type: "mock"

Каждый раз, когда я обновляю компоненты, которые описывают фактический ответ, как показано в документе swagger, мне приходится вручную обновлять этот responseTemplate (или requestTemplate) ). Вместо этого я бы предпочел ссылаться на компонент, который я верну, и использовать примеры каждого компонента, например:

x-amazon-apigateway-integration:
        responses:
          default:
            statusCode: "200"
            responseParameters:
              method.response.header.Access-Control-Allow-Origin: "'*'"
            responseTemplates:
              application/json:
                $ref: '#/components/schemas/Document'
        requestTemplates:
          application/json: "{\"statusCode\": 200}"
        passthroughBehavior: "when_no_match"
        type: "mock"

Возможно ли что-то подобное? Было бы здорово, если бы я мог просто побеспокоиться об указании моих компонентов и соответствующим образом обновить макет конечной точки.

К вашему сведению: я использую Open API 3.0, но могу изменить это, если это поможет делу.

...