Knetik Micro Express
This package adds the an express http server to any
micro-core application
as a Core AdaptorInstall
$ npm install @knetik/micro-express
Then add the COREADAPTORS config to your
config/environments/*.json
files"CORE_ADAPTORS": [ '@knetik/micro-express' ]
Express
Sets up an http web server built with Express and Run when callingCore.serve(app_root_path)
. Routes are stored in app/routes
and should be
wrapped in a function with a single Server
parameter.Multi tenancy is handled on a per request basis using an express middleware.
Core.connect(app_id, bearer_token)
is called internally returning an app
instance scoped to the client and attaching it to the request
object.
Access to the App instance is demonstrated in the example route.Multi tenant resolution is keys on the requesting appid. The
app_id
is
resolved from the first sub domain segment of the requesting domain or from the
configured APP_ID_KEY
request header. Which defaults to x-knetikcloud-appid
Service Auto Load
Set theAUTO_LOAD_SERVICE_ROUTES
env var to true. This will load the modules
inside app/services
as routes and apply a default route to each service.
Config options are available for a auto loaded service. Refer to the
DOCS for more info on how to configure auto loaded service routesNavigate to
/routes
for a list of the auto loaded routes. If the
AUTO_LOAD_SERVICE_ROUTES
var is not set, this route will not be available.Swagger
Swagger json and swagger ui are supported through jsdoc parsing and an express static route.- use swagger yaml syntax in a doc block - https://github.com/knetikmedia/micro-core/blob/master/app/routes/example.js#L3-L28
- view the auto generated swagger.json file - /swagger.json
- render the swagger ui - /swagger-ui