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
autoInjectionEnabled is set to true. Ignored if the autoInjectionEnabled
is set to false.
(Optional) Application config to pass to lambda-api, defaults to new AppConfig.
(Optional) Is auto injection enabled in the IOC container? Defaults to true.
(Optional) InversifyJS IOC Container instance which can
build controllers and error interceptors, defaults to new Container using
autobind flag set to true if autoInjectionEnabled is true. If you pass your own
instance autoInjectionEnabled must reflect the autobind flag passed to the Container.
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 using
autobind flag set to true if autoInjectionEnabled is true. If you pass your own
instance autoInjectionEnabled must reflect the autobind flag passed to the Container.
Protectedauto(Optional) Is auto injection enabled in the IOC container? Defaults 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
autoInjectionEnabled is set to true. Ignored if the autoInjectionEnabled
is set to false.
ProtectedinitialisedProtected ReadonlylogProtectedloggerConfigure the API instance from the lambda-api package.
Function that takes an API instance as a parameter.
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.
API Gateway or ALB request.
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.