网关及代理服务接口

版本记录

版本号日期修改内容
v0.12.22024-08-30修复已知问题

网关/代理服务

获取服务列表

接口功能

从平台中间件中获取服务列表,查询服务的基本信息。

接口地址

URL{Server}/mw/services
http 请求方式get

参数

  1. 请求参数说明
名称类型是否必填描述
namestring服务名称
  1. 返回值参数说明
参数名称类型是否必填说明
namestring服务名称
fullNamestring服务名称(全)
availableboolean服务状态
localboolean是否本地服务
nodesarray所在节点
settingsobject服务的配置信息
versionstring服务版本

示例

示例如下

{
  code: 0,
  message: 'success',
  data: [
    {
      name: '$node',
      version: undefined,
      fullName: '$node',
      settings: {},
      metadata: {},
      local: true,
      available: true,
      nodes: [ 'moleculer-nodejs-14560' ]
    },
    {
      name: 'mw',
      version: undefined,
      fullName: 'mw',
      settings: {},
      metadata: {},
      local: true,
      available: true,
      nodes: [ 'moleculer-nodejs-14560' ]
    },
    {
      name: 'api',
      version: undefined,
      fullName: 'api',
      settings: {
        port: 3001,
        ip: '0.0.0.0',
        use: [],
        routes: [ [Object] ],
        log4XXResponses: false,
        logRequestParams: null,
        logResponseData: null,
        assets: { folder: 'public', options: {} },
        server: true,
        logRequest: 'info',
        logResponse: 'info',
        logRouteRegistration: 'info',
        http2: false,
        httpServerTimeout: null,
        requestTimeout: 300000,
        optimizeOrder: true,
        rootCallOptions: null,
        debounceTime: 500
      },
      metadata: {
        '$category': 'gateway',
        '$description': 'Official API Gateway service',
        '$official': true,
        '$package': {
          name: 'moleculer-web',
          version: '0.10.5',
          repo: 'https://github.com/moleculerjs/moleculer-web.git'
        }
      },
      local: true,
      available: true,
      nodes: [ 'moleculer-nodejs-14560' ]
    }
  ]
}

获取动作列表

接口功能

从平台中间件中获取服务的动作列表,含请求路径和参数信息。

接口地址

URL{Server}/mw/actions
http 请求方式get

参数

  1. 请求参数说明
名称类型是否必填描述
servicestring服务名称
  1. 返回值参数说明
参数名称类型是否必填说明
namestring工作名称
availablebooleantrue 或 false
actionarray动作定义
paramsobject对象参数
cacheobject缓存配置
fieldsstring属性名称
typestring属性类型,如 string、object

获取节点列表

接口功能

支持查看所有的中间件节点(包括本地节点),以列表形式列出所有已知节点(包括本地节点),列表字段包含了节点名称(Node ID)、节点状态(Status)、版本(moleculer 版本 Version)、主机名称(HostName)、CPU。列表支持根据节点名称模糊查询。

接口地址

URL{Server}/mw/nodes
http 请求方式get

参数

  1. 请求参数说明
名称类型是否必填描述
namestring节点名称
  1. 返回值参数说明
参数名称类型是否必填说明
idstring节点名称
instanceIDstring实例 ID
availablebooleantrue 或 false
localbooleantrue 或 false
clientobjectNodejs 版本
metadataobject元数据
ipListarrayip 列表
portint端口号
hostnamestring主机名

示例

示例如下

{
    "code": 0,
    "message": "success",
    "data": [
        {
            "id": "gateway-hsm-107-v0.6.4-4",
            "instanceID": "038f9e02-7885-4d03-9192-2109ccba5b6c",
            "available": true,
            "local": true,
            "lastHeartbeatTime": 4,
            "config": {},
            "client": {
                "type": "nodejs",
                "version": "0.14.29",
                "langVersion": "v18.16.1"
            },
            "metadata": {
                "encrypts": ""
            },
            "ipList": [
                "172.21.44.107"
            ],
            "port": 41811,
            "hostname": "hsm-107",
            "udpAddress": null,
            "cpu": 4,
            "cpuSeq": 161715,
            "seq": 9,
            "offlineSince": null
        }
    ]
}

获取状态列表

接口功能

对外提供接入中间件的服务状态,此接口只能返回接入中间件的服务状态,未接入中间件或者接入后服务异常被剔除后的,不会返回其状态。

接口地址

URL{Server}/mw/status
http 请求方式get

参数

  1. 请求参数说明
名称类型是否必填描述
namestring服务名称
  1. 返回值参数说明
参数名称类型是否必填说明
namestring服务名称
fullNamestring服务名称(全)
availableboolean服务是否可用
localboolean是否本地服务
nodesarray所在节点
settingsobject服务的配置信息

示例

示例如下

{
    "code": 0,
    "message": "success",
    "data": [
        {
            "name": "$node",
            "fullName": "$node",
            "settings": {},
            "metadata": {},
            "local": true,
            "available": true,
            "nodes": [
                "gateway-hsm-107-v0.6.4-4",
                "sdk-model-HSMPORTAL-portal-model-_0",
                "proxy-hsm-107-v0.6.4-3",
                "proxy-hsm-107-v0.6.4-4",
                "proxy-hsm-107-v0.6.4-2",
                "gateway-hsm-107-v0.6.4-1",
                "gateway-hsm-107-v0.6.4-2",
                "proxy-hsm-107-v0.6.4-1",
                "gateway-hsm-107-v0.6.4-3",
                "sdk-hsm-107-msg1",
                "sdk-hsm-107-msg2",
                "sdk-hsm-107-msg3",
                "sdk-hsm-107-msg4",
                "sdk-hsm-107-auth6",
                "sdk-hsm-107-auth1",
                "sdk-hsm-107-auth5",
                "sdk-hsm-107-auth8",
                "sdk-hsm-107-auth7",
                "sdk-hsm-107-auth4",
                "sdk-hsm-107-auth3",
                "sdk-hsm-107-auth2"
            ]
        }
    ]
}

获取服务 schema

接口功能

除了获取整体的 schema 外,还支持获取单个 graphql 类型服务的 schema。

接口地址

URL{Server}/mw/schema
http 请求方式get

参数

  1. 请求参数说明
名称类型是否必填描述
servicestring服务名称
  1. 返回值参数说明
参数名称类型是否必填说明
codestring返回码
messagestring返回消息
dataobject返回数据

示例

{
    "code": 0,
    "message": "success",
    "data": {
        "data": {
            "__schema": {
                "queryType": {
                    "name": "Query"
                },
                "mutationType": {
                    "name": "Mutation"
                },
                "subscriptionType": null,
		     "types": [...
	           ],
	           "directives": [...
	           ]
            }
        }
    }
}

同步调用

接口功能

从平台中间件中调用其他服务的动作,等同于远程调用一个服务的接口。

接口地址

URL{Server}/proxy/call
http 请求方式post

参数

  1. 请求参数说明
名称类型是否必填描述
servicestring服务名称
actionstring动作名称
paramstringurl 请求参数
bodystringbody 体请求参数
methodstring默认 Get
headerstring请求头
  1. 返回值参数说明
参数名称类型是否必填说明
codestring返回码
messagestring返回消息
dataobject返回数据

示例

{
    "code": 0,
    "message": "SUCCESS",
    "data": {}
}

缓存清理

接口功能

对于需要缓存的接口,提供接口进行缓存的清理。

接口地址

URL{Server}/gateway/clearCache
http 请求方式post

参数

  1. 请求参数说明
名称类型是否必填描述
idsarrayid 数组,api 接口唯一编码
  1. 返回值参数说明
参数名称类型是否必填说明
codestring返回码
messagestring返回消息

示例

{
    "code": 0,
    "message": "success",
}

检查 gql 请求

接口功能

提供接口检查 gql 请求是否符合要求。

接口地址

URL{Server}/gateway/checkGql
http 请求方式get

参数

  1. 请求参数说明
名称类型是否必填描述
namestringgraphql 接口名
typestring查询类型
domainstringgraphql 服务组名
  1. 返回值参数说明
参数名称类型是否必填说明
codestring返回码
messagestring返回消息

示例

{
    "code": 0,
    "message": "SUCCESS",
}

获取静态路由

接口功能

获取注册到网关的静态路由信息。

接口地址

URL{Server}/gateway/static/routes
http 请求方式get

参数

  1. 请求参数说明

  1. 返回值参数说明
参数名称类型是否必填说明
codestring返回码
messagestring返回消息
dataobject返回数据

示例

{
    "code": 0,
    "message": "SUCCESS",
    "data": {}
}