私はAWS API Gateway APIをOpen API仕様で指定します。この仕様には、クライアント開発者がAPIと統合する際に使用する多くのドキュメントが含まれています。しかし、Open API仕様に追加したドキュメントはAPI Gatewayからエクスポートされないため、消費することはできません。Open APIで指定されたドキュメントがAWS API Gatewayからエクスポートされない
すでに述べたように、私はJSONでOpen API仕様を使い始めます。 CloudFormation AWS::ApiGateway::RestApi
リソースを使用して、これをAPIゲートウェイにインポートします。
この後、私は、ステージにAPIを導入し、最終的には、CLI AWSを使用して、このAPI +段階からドキュメントをエクスポートします。
aws apigateway get-export \
--parameters extensions='documentation' \
--rest-api-id abc123 \
--stage-name api \
--export-type swagger \
./docs.json
このエクスポートは、このような重要なドキュメントのプロパティの多くが欠けているように見えますdescription
とpattern
となります。
私のAPIの例オープンAPIパラメータ:
{
in: 'path',
name: 'service',
type: 'string',
required: true,
pattern: '^[-a-zA-Z0-9]+$',
description: 'Name of the Service (document) to retrieve.'
}
私が手の上に私がAWS-CLIコマンドでこれをエクスポートします。
{
"name" : "service",
"in" : "path",
"required" : true,
"type" : "string"
}
description
とpattern
プロパティが両方剥奪されています実際にはこのパラメータのドキュメントの主要部分であるため、ドキュメントのエクスポートは悪いです。
AWS Console(Swagger + API Gateway拡張機能)で同じAPIをエクスポートすると、ドキュメントのエクスポートと同じパラメータ定義が取得されることにも言及しておきます。
統合がラムダプロキシに基づいていることに言及する価値があるかもしれません。