ut-api
API generation tools for hapi
API
Exposes a single initialization method:
async init(config, errors)
- initializes the module
-
config
- configuration object with the following properties:-
ui
- boolean, activates generation of UI for the API -
document
- define custom endpoints based on Swagger 2.0 or OpenAPI 3.0 document. Possible values are:-
function
- the function is called and it must return parsed API document -
string
- the string is parsed to create the API document -
object
- must be valid API document - anything else will generate empty API document
-
-
-
result
- the function returns object with the following properties:-
uiRoutes
- object containing hapi routes that handle the API ui -
rpcRoutes
- function, used to define RPC routes based on JOI validations -
restRoutes
- function, used to define attach handler for REST routes, based on the passedconfig.document
-
The functions in the result have the following signatures:
-
function rpcRoutes(definitions)
-
definitions
- array of objects with the following properties, used to describe each method:-
tags
- method tags -
app
- custom method properties -
timeout
- handler default timeout -
method
- method name -
description
- short method description -
notes
- long method description -
params
- joi validation of method params -
result
- joi validation of method result -
validate
- hapi route validate options -
handler
- hapi route handler
-
-
result
- object containing hapi routes that handle the generated RPC routes
-
-
function restRoutesApi({namespace, fn, object})
-
namespace
- namespace of the handler function -
fn
- handler function -
object
- handler function binding forthis
-
result
- object containing hapi routes that handle the generated REST routes
-