AbstractCreate a new app.
OptionalcontrollersPath: string[](Optional) Paths to the directories that contain controller js files that
declare controllers. Required if the default Container is used, or the
provided Container instance has its autoBindInjectable flag set to true.
Ignored if the provided Container instance has its autoBindInjectable
flag set to false.
(Optional) Application config to pass to lambda-api, defaults to new AppConfig.
(Optional) InversifyJS IOC Container instance which can
build controllers and error interceptors, defaults to new Container with
autoBindInjectable flag set to true.
Protected ReadonlyapiProtectedapp(Optional) Application config to pass to lambda-api, defaults to new AppConfig.
Protectedapp(Optional) InversifyJS IOC Container instance which can
build controllers and error interceptors, defaults to new Container with
autoBindInjectable flag set to true.
Protected Optional Readonlycontrollers(Optional) Paths to the directories that contain controller js files that
declare controllers. Required if the default Container is used, or the
provided Container instance has its autoBindInjectable flag set to true.
Ignored if the provided Container instance has its autoBindInjectable
flag set to false.
ProtectedinitialisedProtected ReadonlylogProtectedloggerConfigure the API instance from the lambda-api package.
Configure the InversifyJS IOC Container instance.
Function that takes a Container instance as a parameter.
Initialise all controllers and endpoints declared using decorators.
AbstractrunRun using the passed event and context, ultimately should call the
processEvent method on the apiServer instance.
Request context.
The response.
Application base class which combines the
Server,Container(seeInversifyJS) andAppConfigclasses to create a decorator driven API with typescript middleware and dependency injection. It uses thelambda-apipackage as the underlying HTTP API framework.AWS Lambda requests are handled by the
runmethod, which will return a response compatible with either API Gateway or an ALB.Extending this class will allow creating an app implementation for runtimes, AWS Lambda, Local Web Server etc.