keq-cli
v4.2.1
Published
Transform Swagger 3.0 to the function that send request by keq
Downloads
249
Maintainers
Readme
Transform Swagger 3.0 to the function that send request by keq.
Usage
Prepare
You need prepare a Swagger 3.0 file first.
Compile
keq-cli compile
is use to compile a local swagger file.
npx keq-cli compile -o ./output -m userService ./swagger.json
Options:
option | description
:----------------------|:------------------------
-o --outdir
| The output directory
-m --module-name
| The module name
--file-naming-style
| File naming style.(default 'snakeCase', see more in change-case)
--request
| The request package used in compiled result.(default 'keq')
Use In Coding
import { request, mount } from 'keq'
import { setHeader } from 'keq-header'
import proxy from 'keq-proxy'
import updateUser from './outdir/userService/update_user'
// Set Request Origin
request.bseOrigin('http://127.0.0.1:8080')
request
.useRouter()
// set your middleware for module
.module('userService', setHeader('x-custom-header', 'custom_value'))
// set modlue request base url for module
.module('userService', setBaseUrl('http://example.com/api'))
async function action() {
await updateUser({
id: 1,
name: 'Marry',
})
}
Configuration file
Use configuration files is easy to regeneration.
By default, keq-cli
will search for .keqrc.yml
, .keqrc.json
, keqrc.js.config
.
You can use -c --config <config_file_path>
to set the config file you wanted.
npx keq-cli build
npx keq-cli build -c ./.keqrc.yml
Compared with keq-cli compile
, the configuration file can set multiple modules with multiple url for different environments.
The yml configuration file Example:
outdir: ./output
fileNamingStyle: snakeCase
modules:
userService: ./swagger.json
coreService: http://example.com/swagger.json
The json configuration file Example:
{
"outdir": "./output",
"fileNamingStyle": "snakeCase",
"modules": {
"userService": "./swagger.json",
"coreService": "http://example.com/swagger.json"
}
}