hyper-api-client
Install
npm install hyper-api-client --save
Usage
Config compiler and create instance AppApiClint
{ HyperApiClient { return } var { return } return HyperApiClient} let AppApiClint =
Add schema to AppApiClint
let findUserSchema = href: 'http://domain.com/api' title: 'findUser' method: 'post' description: 'Find user by name' definitions: name: type: 'string' age: type: 'number' schema: properties: name: type: 'string' targetSchema: properties: name: $ref: '#/definitions/name' age: $ref: '#/definitions/age' AppApiClint
Use directly
AppApiClintfindUser
Install vue-modello plugin
let AppModello = AppModello if top !== window let loc = location tophref
vue-modello plugin Option
OptionName | Type | Example | Description |
---|---|---|---|
client | Object | HyperApiClient instance | |
disableResultValidate | Boolean | false | 默认值为 false,为 true 时将不校验响应结果 |
suppressResultInvalidError | Boolean | false | 默认值为 false,为 true 时将不会在响应结果校验出错时抛出错误 |
disableParametersValidate | Boolean | false | 默认值为 false,为 true 时将不校验请求参数 |
suppressParametersInvalidError | Boolean | false | 默认值为 false,为 true 时将不会在请求参数校验出错时抛出错误 |
onError | Function | fn(error) |
vue modello hyper api plugin mix option
Property | Priority | Type | Default | Example | Description |
---|---|---|---|---|---|
parameter | Object 或 String | {} | 'parameterPath' 等价于 { valuePath: 'parameterPath' } | ||
parameter.valuePath | String | 'query' | 请求参数在 state 中的 path,将根据它自动设置参数的其他选项 | ||
parameter.set | + | Function | fn(state, value) | 提供一个函数设置参数的值,用于将 schema 中的默认值复制给参数 | |
parameter.get | + | Function | fn(state) | 提供一个函数从 state 中获取参数,仅用于发起请求时未传递参数 | |
parameter.validateEnabled | Boolean | true | watch parameters and validate 通过 vue-modello 的 watch 选项监听参数变化并进行校验 | ||
parameter.validateErrorPath | String | 'validateError.query' | 参数校验错误的保存到 state 的 path | ||
parameter.setValidateError | + | Function | fn(state, error, propPath) | 提供一个函数保存参数校验错误 | |
parameter.copyDefault | Boolean | Be true if valuePath present 是否 copy schema 中的默认值到参数 | |||
result | Object 或 String | {} | 'resultPath' 等价于 { valuePath: 'resultPath'} | ||
result.valuePath | String | 'list' | 保存结果到 state 的 path | ||
result.set | + | Function | fn(state, value) | 用于保存响应结果到 state | |
result.filter | Function | fn(result) | filter result 用于通过校验后过滤响应结果 | ||
result.copyDefault | Boolean | Be true if valuePath present 是否复制默认值到响应结果 |
Add api to model
let UserModel = modelName: 'User' hyperApi: findUser: {} actions: mutations: