Tuesday, 23 April, 2019 UTC


Summary

When developing serverless function over aws lambda, it is very useful to export the documentation as a swagger file, and create api documentation to your api.
to make the process easily accessed i created npm module apigateway-export-tool that does exactly that.
npx apigateway-export-tool list
npx apigateway-export-tool docs -i [api-id] --stageName [stage]

im 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 documentations.
in my next post i will show you my next project to combine the swagger ui with the swagger exporter.