arkreen-restrpc-client
v1.1.1
Published
支持jsonrpc 协议调用,是对axios库的封装,支持动态切换访问地址来调用服务接口
Downloads
126
Readme
xenon-jsonrpc-client
支持jsonrpc 协议调用,是对axios库的封装,支持动态切换访问地址来调用服务接口
install
yarn add axios log4js xenon-jsonrpc-client -D
Usage
typescript:
import {JsonRpcClient} from "xenon-jsonrpc-client"
import {getLogger} from 'log4js'
const logger = getLogger("out")
try{
const options={
//服务名称
serviceName:'xxx',
//指定url地址,如果指定了该值,这不会走nacos的负载均衡器,直接调用url所指定的地址
//url:'http://localhost:9501',
// 接口的path路径,默认值为"/"
path:'v1',
// 当需要走nacos的负载均衡器时,需要写下面的代码,该代码是通过负载均衡器获得一个
// 可访问的url地址
getHost:(serviceName:string)=>{
const instancesRobin=config.nacosInstances[serviceName]
if(!instancesRobin){
return null
}
const host=instancesRobin.pick()
return host
},
// logger 日志输出, 如log4js
logger:logger,
// 全局配置变量,和nacos所使用的变量为同一个对象
config:config
}
// 声明对象,一个serviceName代表一个服务,如果有多个不同的服务,需要定义个多实例对象,
// 每个实例对象只能访问自己的数据资源
const jsonRpcClient= new JsonRpcClient(options)
//调用示例的参数
var param = {
"keyId": 'xxxxxx',
"salt": '',
"info": 'dddddddddddddddddddddddddddddddddddddddd',
"length": 16
}
//调用请求方法
// 第一个参数为 method
// 第二个参数为 需要请求的params
const res=await jsonRpcClient.request('xxxxxxx',param)
//异步返回调用结果
logger.info(JSON.stringify(res))
}catch (e){
//输出异常信息
logger.error(e)
}
javascript:
const {JsonRpcClient} = require("xenon-jsonrpc-client");
var log4js = require("log4js")
const logger = log4js.getLogger("out")
try{
const options={
//服务名称
serviceName:'xxx',
//指定url地址,如果指定了该值,这不会走nacos的负载均衡器,直接调用url所指定的地址
//url:'http://localhost:9501',
// 接口的path路径,默认值为"/"
path:'v1',
// 当需要走nacos的负载均衡器时,需要写下面的代码,该代码是通过负载均衡器获得一个
// 可访问的url地址
getHost:(serviceName:string)=>{
const instancesRobin=config.nacosInstances[serviceName]
if(!instancesRobin){
return null
}
const host=instancesRobin.pick()
return host
},
// logger 日志输出, 如log4js
logger:logger,
// 全局配置变量,和nacos所使用的变量为同一个对象
config:config
}
// 声明对象,一个serviceName代表一个服务,如果有多个不同的服务,需要定义个多实例对象,
// 每个实例对象只能访问自己的数据资源
const jsonRpcClient= new JsonRpcClient(options)
//调用示例的参数
var param = {
"keyId": 'xxxxx',
"salt": '',
"info": 'dddddddddddddddddddddddddddddddddddddddd',
"length": 16
}
//调用请求方法
// 第一个参数为 method
// 第二个参数为 需要请求的params
const res=await jsonRpcClient.request('xxxxxxx',param)
//异步返回调用结果
logger.info(JSON.stringify(res))
}catch (e){
//输出异常信息
logger.error(e)
}