Package Exports
- moleculer-web
- moleculer-web/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (moleculer-web) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Official API Gateway for Moleculer framework 
The moleculer-web
is the official API gateway service for Moleculer. Use it to publish your services.
Features
- support HTTP & HTTPS
- serve static files
- multiple routes
- support global, route, alias middlewares
- support file uploading
- alias names (with named parameters & REST shorthand)
- whitelist
- multiple body parsers (json, urlencoded)
- CORS headers
- ETags
- HTTP2
- Rate limiter
- before & after call hooks
- Buffer & Stream handling
- middleware mode (use as a middleware in ExpressJS Application)
- support authorization
Install
npm install moleculer-web --save
Usage
Run with default settings
This example uses API Gateway service with default settings.
You can access to all services (including internal $node.
) via http://localhost:3000/
let { ServiceBroker } = require("moleculer");
let ApiService = require("moleculer-web");
let broker = new ServiceBroker({ logger: console });
// Create a service
broker.createService({
name: "test",
actions: {
hello() {
return "Hello API Gateway!"
}
}
});
// Load API Gateway
broker.createService(ApiService);
// Start server
broker.start();
Test URLs:
Call
test.hello
action:http://localhost:3000/test/hello
Get health info of node:
http://localhost:3000/~node/health
List all actions:
http://localhost:3000/~node/actions
Documentation
Please read our documentation on Moleculer site
Test
$ npm test
In development with watching
$ npm run ci
License
Moleculer-web is available under the MIT license.
Contact
Copyright (c) 2016-2021 MoleculerJS