Service-generator.md
June 3, 2020 · View on GitHub
{% include content/generator-create-app.html lang=page.lang %}
Synopsis
Adds a new Service class to a LoopBack application with one single command.
lb4 service [options] [<name>]
Options
--type : (Optional) service type: proxy, class, or provider
--datasource : (Optional) name of a valid REST or SOAP datasource already
created in src/datasources
Configuration file
This generator supports a config file with the following format, see the Standard options below to see different ways you can supply this configuration file.
{
"name": "serviceNameToBeGenerated",
"datasource": "validDataSourceName",
}
Remote and local services
We support three types of services now:
- proxy: A service proxy for remote REST/SOAP/gRPC APIs
- class: A TypeScript class that can be bound to the application context
- provider: A TypeScript class that implements
Providerinterface and can be bound to the application context
For remote services (type=proxy), there should be at least one valid (REST or
SOAP) data source created already in the src/datasources directory.
{% include_relative includes/CLI-std-options.md %}
Arguments
<name> - Optional argument specifying the service name to be generated.
Interactive prompts
The tool will prompt you for:
-
Service type. (serviceType) If the service type had been supplied from the command line with
--typeor--datasource(implyingproxy) option and it is a valid one, then the prompt is skipped, otherwise it will present you the list of all valid service types.? Service type: (Use arrow keys) ❯ Remote service proxy backed by a data source Local service class bound to application context Local service provider bound to application context -
Please select the datasource. (datasource) If the name of the datasource had been supplied from the command line with
--datasourceoption and it is a valid one, then the prompt is skipped, otherwise it will present you the list of all valid datasources from thesrc/datasourcesdirectory. -
Service name. (name) If the name of the service to be generated had been supplied from the command line, the prompt is skipped.
Output
Once all the prompts have been answered, the CLI will generate a basic skeleton for your service.
- Create a Service class as follows:
/src/services/${name}.service.ts - Update
/src/services/index.tsto export the newly created Service class.