Skip to main content
Version: 2.4.0

多语言Http客户端

说明#

  • 本文主要讲解其他语言的http服务如何接入网关。
  • 接入网关需要先获取 token, 然后可以根据需求调用注册服务或元数据接口

获取 token#

  • 请求方式

    GET

  • 请求路径

    • http://{shenyu-admin}/platform/login
    • 其中 shenyu-admin 表示为 admin 后台管理系统的 ip + port
  • 请求参数

    • query参数,账号密码为 admin 服务的用户名和密码

      字段类型是否必填描述
      userNameString用户名
      passwordString密码
  • 返回数据

    字段类型描述
    codeInteger返回码
    messageString返回信息
    dataObject返回对象
    idInteger用户id
    userNameString账号
    roleInteger角色
    enabledBoolean是否启用
    dateCreatedString创建时间
    dateUpdatedString更新时间
    tokenStringtoken
    expiredTimeLong超时时间,单位:毫秒

    示例

    {    "code": 200,    "message": "login dashboard user success",    "data": {        "id": "1",        "userName": "admin",        "role": 1,        "enabled": true,        "dateCreated": "2022-09-07 22:08:23",        "dateUpdated": "2022-09-07 22:08:23",        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNjYyNjQ2MzU5fQ.WBXBgCcGsnnC00pRbDOtqCVoAaZr8MKH6WE6kY-NGaI",        "expiredTime": 86400000    }}

注册服务#

  • 请求方式

    POST

  • 请求路径

    • http://{shenyu-admin}/shenyu-client/register-uri
    • 其中 shenyu-admin 表示为 admin 后台管理系统的 ip + port
  • 请求参数

    • Header参数

      • contentType: application/json

      • X-Access-Token: {token},token 为调用登陆接口获取的 token

    • Body参数,json类型

      字段类型是否必填描述
      protocolString协议类型
      appNameString应用名称
      contextPathString项目路径
      rpcTypeStringrpc类型,支持的类型参考 RpcTypeEnum
      hostString客户端IP
      portInteger客户端端口
      eventTypeString事件类型,支持的类型参考 EventType

    示例

    {    "protocol": "http",    "appName": "app",    "contextPath": "/test",    "rpcType": "http",    "host": "127.0.0.1",    "port": "8080",    "eventType": "REGISTER"}
  • 返回数据

    注册成功会返回 success

注册元数据#

  • 请求方式

    POST

  • 请求路径

    • http://{shenyu-admin}/shenyu-client/register-metadata
    • 其中 shenyu-admin 表示为 admin 后台管理系统的 ip + port
  • 请求参数

    • Header参数

      • contentType: application/json

      • X-Access-Token: {token},token 为调用登陆接口获取的 token

    • Body参数,json类型

      字段类型是否必填描述
      appNameString应用名称
      contextPathString项目路径
      pathString路径
      pathDescString路径描述
      rpcTypeStringrpc类型,支持的类型参考 RpcTypeEnum
      serviceNameString服务名称
      methodNameString方法名称
      ruleNameString规则名称
      parameterTypesString参数类型
      rpcExtStringRpc拓展参数
      enabledBoolean状态
      hostString服务 IP
      portInteger服务端口
      pluginNamesList插件名称列表
      registerMetaDataBoolean是否注册元数据

      示例

      {    "appName": "app",    "contextPath": "/",    "path": "/test",    "rpcType": "http",    "serviceName": "测试服务",    "parameterTypes": "java.lang.String",    "pathDesc": "测试路径",    "methodName": "测试方法",    "ruleName": "测试规则",    "rpcExt": "{\"loadbalance\":\"hash\",\"retries\":3,\"timeout\":-1}",    "enabled": true,    "host": "127.0.0.1",    "port": 8080,    "pluginNames": [],    "registerMetaData": true}
  • 返回数据

    注册成功会返回 success