Skip to content

postman dubbo版本;dubbo泛化直连调用客户端,使用网页调用dubbo接口;泛化调用;直连调用;dubbo消费者

License

Notifications You must be signed in to change notification settings

itning/generic-service-client

Repository files navigation

Dubbo 泛化调用客户端

GitHub stars GitHub forks GitHub watchers GitHub followers

Github Action GitHub issues GitHub license GitHub last commit GitHub release GitHub repo size in bytes hitCount language

项目架构

前端:Angular ;项目地址:itning/generic-service-client-web

后端:Spring Boot ;项目地址:itning/generic-service-client

介绍

  • 主要功能:使用网页发起dubbo协议的请求。http协议转dubbo协议

  • 内部原理:dubbo泛化调用

网页填写请求的信息->http协议->泛化调用->服务提供者

快速开始

[推荐]使用编译好的,直接打开即可: https://github.com/itning/generic-service-client-electron/releases

直接 下载JAR 包,输入命令java -jar generic-service-client-1.3.3-W1-RELEASE.jar

即可启动项目,浏览器输入:http://localhost:8868 即可!‘

如果需要更改配置文件,则输入该命令:java -jar -Dspring.config.location=application.properties generic-service-client-1.3.3-W1-RELEASE.jar

注意:该JAR包仅支持本地访问,如果需要支持其它访问,需要自行编译!

部署

后端

目前接口提示功能仅支持Zookeeper和Nacos注册中心,如果注册中心不是用的Zookeeper或者Nacos就不需要配这个地址

application.properties 文件配置ZK地址用于提示,如果不需要提示则不需要配置!

# 支持多个ZK注册中心,例如下面就写了三个注册中心(zk-A,zk-B,zk-C)
generic-service-support-zk.zk-list.zk-A=192.168.66.1:2181,192.168.66.2:2181:2181,192.168.66.3:2181
generic-service-support-zk.zk-list.zk-B=192.168.77.1:2181,192.168.77.2:2181:2181,192.168.77.3:2181
generic-service-support-zk.zk-list.zk-C=192.168.88.1:2181,192.168.88.2:2181:2181,192.168.88.3:2181
# 支持多个Nacos注册中心,例如下面就写了三个注册中心(nacos-A,nacos-B,nacos-C)
generic-service-support-nacos.nacos-list.nacos-A=127.0.0.1:8848
generic-service-support-nacos.nacos-list.nacos-B=127.0.0.1:8858
generic-service-support-nacos.nacos-list.nacos-C=127.0.0.1:8868

其它配置不需要改动,默认端口号:8868

配置后弱类型接口名输入框会有个下拉框,如图:

xialakuang

如果没有配置,则是这样的:

meiyouxialakuang

配置后点击输入框会有提示:

zidong

前端

前端需要知道后端的地址,所以需要改动前端配置:

默认开发环境:environment.ts

默认线上生产环境:environment.prod.ts

开发环境运行:npm run start

构建生产:npm run build

Docker

支持docker部署

镜像:itning/generic-service-client Tags (docker.com)

部署命令:

docker run --name generic-service-client -d -p 8868:8868 -e generic-service-support-zk.zk-list.zk-A=192.168.66.1:2181,192.168.66.2:2181:2181,192.168.66.3:2181 -e generic-service-support-zk.zk-list.zk-B=192.168.77.1:2181,192.168.77.2:2181:2181,192.168.77.3:2181 itning/generic-service-client:latest

环境说明:

值(例子) 说明
generic-service-support-zk.zk-list.A 192.168.66.1:2181,192.168.66.2:2181:2181,192.168.66.3:2181 可选Zk地址,其中A可以换成其它名字,例如generic-service-support-zk.zk-list.BBB
generic-service-support-nacos.nacos-list.A 127.0.0.1:8848 可选nacos注册中心地址,其中A可以换成其它名字,例如generic-service-support-nacos.nacos-list.BBB
generic-service-support-nexus.base-url http://localhost:8888/nexus 可选nexus私服地址
generic-service-support-nexus.file-dir /tmp 可选从nexus私服下载的文件保存地址
generic-service-support-nexus.username root 可选nexus私服用户名
generic-service-support-nexus.password root 可选nexus私服密码

使用说明

当有多个服务提供者的时候,会提示选择:

zidong

点击编辑参数,可以对参数进行修改:

bianjicanshu

参数数据结构:

[
  {
    "top.itning.Request": {
      "age": 1
    }
  },
  {
    "top.itning.Request2": {
      "dto": {
        "a": "a",
        "b": [1,2, 3 ]
      }
    }
  }
]

最外层是数组数组中每个对象只有一个KEY,KEY名代表接口参数的类全路径名,值代表参数值,而后每一个KEY代表属性名,VALUE为属性值。

点击确定后,解析结果如图:

jiexijieguo

支持dubbo URL解析:

dubboURLjiexi

夜间模式

dubboURLjiexi

API

提供对外API

URL:http://localhost:8868/dubbo/invoke

请求方法:POST

Content-Type:application/json

请求体:

{
    "url": "dubbo://192.168.66.1:20880",
    "interfaceName": "top.itning.dubbotest.service.DemoService",
    "method": "sayHello",
    "version": "1.2",
    "group": "haha",
    "retries": 0,
    "timeout": 400,
    "params": [
        {
            "java.util.Date": "2021-01-09 19:22:42"
        },
        {
            "java.time.LocalDateTime": "2021-01-09T19:22:42"
        },
        {
            "java.lang.String": "aaaaa"
        }
    ]
}

该请求体对应的JAVA方法:

public String sayHello(Date time, LocalDateTime localDateTime, String name)

About

postman dubbo版本;dubbo泛化直连调用客户端,使用网页调用dubbo接口;泛化调用;直连调用;dubbo消费者

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages