fglrestful
The fglrestful tool produces REST web services stub files for client programs using an OpenAPI specification.
Syntax
fglrestful [ options ] service
- options are described in fglrestful options.
- service is the OpenAPI service definition file or URL.
Options
Options | Description |
---|---|
-V or --version |
Displays version information. |
-h or --help |
Displays options for the tool. |
-l or --list
{ path | resource } |
List all the paths or resources of a service. See List path or resource. |
-o or --output filename
|
Specify a name for the output stub file. See Usage. |
-n or --name resource
|
In a service providing access to one or more resources, specify the creation of a stub file for a given resource. See Generate stub file for resource. |
-p or --prefix
prefix |
Set a prefix for constants and variables. |
-b or --binary {
byte | file } |
Specify that binary types are generated as either BYTE or
FILE types in the stub. |
-f or --format
{
xml } |
Specify the preferred REST format (xml or json). You must use lowercase xml or json in the command. |
-a or --oauth
{ yes | no | openapi } |
Generates OAuth support, default is openapi . |
-t or --token token
|
Specify the access token value if the service is protected by an access token. |
-k or --tokenfile filename
|
Specify the access token file if the service is protected by an access token. |
--comment
|
Add comments to the generated stub file. See Output comments. |
-W or --Warnings
{ yes | no } |
Specify if warnings should be output or not. By default the option value is
yes , meaning the warnings are reported. See Output warnings. |
Usage
You use the fglrestful tool to generate the GWS client stub from an OpenAPI specification file (JSON format).
For example, to access a Web service, you must get the REST information from the service provider. If the server supports the OpenAPI specification, the fglrestful command can generate the description of the service for access by a GWS client application.
If your REST service is written with Genero REST high-level API, a specification file is provided by default when you launch the service with the query string ?openapi.json. If the GWS Server was started on your local machine, for example, the OpenAPI information would be at:
http://localhost:8090/MyService?openapi.json
--output
or -o
option and the URL of the running
service:fglrestful -o stub_filename http://localhost:8090/MyService?openapi.json
fglrestful -o stub_filename myservice.openapi
In
Genero Studio, you can place the openapi file in your project and the stub file
is generated from it when you compile the file. For more information, see the Genero Studio
documentation.The generated client stub file, stub_filename, has a .4gl extension.
The fglrestful command line tool supports OpenApi version 3.
For usage options, run the command fglrestful without any other parameters or with the help ( -h ) option.
These are examples of common commands used by REST Web service developers.
List path or resource
--list {
path | resource
}
option provides you with the option to
list all the paths or resources of a service. For example, you can use a command to list the
resources of the Web service in the standard output:- using the URL of the running
service:
fglrestful -l resource http://localhost:8090/MyService?openapi.json
- or using a specification
file:
fglrestful -l resource myservice.openapi
Generate stub file for resource
-n
option in the command. For
example, these commands generate a separate stub file for the "users" resource:- using the URL of the running
service:
fglrestful -n users -o myUsersStub http://localhost:8090/MyService?openapi.json
- or using a specification
file:
fglrestful -n users -o myUsersStub myservice.openapi
Output comments
--comment
in the command, descriptions set on the
WSDescription attribute on parameters of a
REST function are generated on the client stub. For example, these commands generate a stub file
with comments:- using the URL of the running
service:
fglrestful -o stub_filename --comment http://localhost:8090/MyService?openapi.json
- or using a specification
file:
fglrestful -o stub_filename --comment myservice.openapi
p_resourceId INTEGER {this is the customer id}
The WSDescription
set on the ATTRIBUTES()
clause of the function is not
affected. It is always generated; even if the --comment
option is not
specified.
Output warnings
-W
option in the command. In the example commands warnings are written to the
standard output:- using the URL of the running
service:
fglrestful -W yes -o stub_filename http://localhost:8090/MyService?openapi.json
- or using a specification
file:
fglrestful -W yes -o stub_filename myservice.openapi
Warning in /paths/Property/GetAllProperties/{applicationID}/{includeWillBeSold}/{update}/get/responses Reason : Unsupported media='text/plain' on type='WebAPI_CreditAnalysis_Models_PropertyContainer'
Errors are reported by default. The error message gives same kind of path, but with Error
in
instead of Warning in
.