Export Swagger documentation file from AWS ApiGateway

Export Swagger documentation file from AWS ApiGateway

When developing a serverless function over AWS lambda and APIGateway, it is very useful to export the documentation as a swagger file, and create API documentation to your API.

to make the process smooth I created an npm module apigateway-export-tool that does exactly that.

npx apigateway-export-tool list
npx apigateway-export-tool docs -i [api-id] --stageName [stage]

I'm using the aws-sdk module to export the API documentation by api-id and stage-name.

you can also use the module with NodeJS like this:

const { getExportAndSave,setAwsConfig } = require("apigateway-export-tool");
setAwsConfig({ region: "us-east-1" });

(async function() {
  const params = {
    exportType, // String ("oas30", "swagger")
    restApiId, // String
    stageName, // String
    parameters: {
      extensions // String ("postman", "integrations", "integrations", "authorizers")
    }
  };
  const filePath = "./";
  const file = await getExportAndSave(params, filePath); //save the file in path.
  const file = await getExportAndSave(params); // just returning the file.
})();

after exporting the swagger file go over to https://editor.swagger.io/ and import the file, then you can interact with your API documentation.

in my next post, I will show you my next project to combine the swagger UI with the swagger exporter.