news 2026/5/28 10:07:14

【接口测试】4_Dubbo接口 _xx健康项目接口代码实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【接口测试】4_Dubbo接口 _xx健康项目接口代码实现

文章目录

  • 一、会员服务
    • 1.1 根据手机号查询会员信息
      • 1.1.1 传递普通参数
      • 1.1.2 实现代码(统一返回字符串类型数据)
    • 1.2 添加会员
      • 1.2.1 传递 对象参数
      • 1.2.2 实现代码
    • 1.3 根据日期统计会员数
      • 1.3.1 传递 字符串列表
      • 1.3.2 实现代码
  • 二、预约设置服务
    • 2.1 添加预约设置
      • 2.1.1 传递参数
      • 2.1.2 实现代码
    • 2.2 按月统计预约设置信息
      • 2.2.1 传递参数
      • 2.2.2 实现代码
    • 2.3 根据日期修改预约设置数量
      • 2.3.1 传递参数
      • 2.3.2 实现代码
  • 三、用户服务
    • 3.1 根据用户名查询用户信息
      • 3.1.1 传递参数
      • 3.1.2 实现代码
  • 四、现有代码存在的问题

一、会员服务

1.1 根据手机号查询会员信息

1.1.1 传递普通参数

dubbo> ls -l MemberService com.itheima.pojo.Member findByTelephone(java.lang.String) #com.itheima.pojo 包名 Api接口文档的定义:Member findByTelephone(String telephone) 参数: 字符串格式手机号。唯一 返回值: 成功:返回 会员的信息内容。string类型 包裹的 字典数据。 失败:返回 null

1.1.2 实现代码(统一返回字符串类型数据)

统一返回字符串类型数据:因为不同的编程语言对接,但是都有字符串类型。

# 导包fromdubboclientimportDubboClient# 1、创建DubboClient对象。---创建 DubboClient 实例,指定 IP、portdubbo_clt=DubboClient("211.103.136.244",6502)# 服务名可以去接口文档中找# 2、调用服务接口---使用 DubboClient 实例 调用 invoke 方法,传入 服务名、方法名、实参resp=dubbo_clt.invoke("MemberService","findByTelephone","13020210001")# 3、查看 响应结果print("响应结果 =",resp)print("数据类型 =",type(resp))# 数据类型 = <class 'str'>

1.2 添加会员

1.2.1 传递 对象参数

dubbo> ls -l MemberService void add(com.itheima.pojo.Member) Api接口文档的定义:void add(Member member) 参数: 1. 自定义类 做 参数,根据接口文档,组织 “字典” 格式数据传参 2. 给字典增加 {键k:"class" , 值v:指明 类 对应的完整 包名和类名} ls -l MemberService 可以查看完整包名和类名。 区分自定义类: 包名不以“java.”开头。一般采用:com.公司名.项目名.类名 返回值: 成功:返回 null 失败:返回 Failed

1.2.2 实现代码

# 导包fromdubboclientimportDubboClient# 创建实例dubbo_clt=DubboClient("211.103.136.244",6502)data={"id":8897,"name":"杜甫","phoneNumber":"13020241739"}# 如果class在 原字典 中存在,覆盖原有数据;不存在,添加。data["class"]="com.itheima.pojo.Member"# 远程调用resp=dubbo_clt.invoke("MemberService","add",data)# 打印结果print("响应结果 =",resp)print("数据类型 =",type(resp))

1.3 根据日期统计会员数

1.3.1 传递 字符串列表

dubbo> ls -l MemberService java.util.List findMemberCountByMonths(java.util.List) 文档API接口定义:List<Integer> findMemberCountByMonths(List<String> months) 参数: 1. 字符串列表。用字符串表示年、月,用“.”衔接 如:["2021.3", "2021.9"] 返回值: 成功:返回列表,对应参数设置的月份的会员数。 失败:Failed

1.3.2 实现代码

# 导包fromdubboclientimportDubboClient# 创建 dubboclient 的实例。传入 IP、portdubbo_clt=DubboClient("211.103.136.244",6502)list=["2021.12"]# 使用实例,调用 invoke方法,传入 服务名、方法名、实参resp=dubbo_clt.invoke("MemberService","findMemberCountByMonths",list)# 查看 响应数据print("响应结果 =",resp)print("数据类型 =",type(resp))

二、预约设置服务

2.1 添加预约设置

2.1.1 传递参数

dubbo> ls -l OrderSettingService void add(java.util.List) 接口定义:void add(List<OrderSetting> list) 参数: 1. 字典列表。字典有 orderDate 和 number 两个字段。 如:[{"orderDate":"2021-09-20 16:45:12","number":20}] 2. 日期格式:"2021-09-20 16:45:12",必须包含时分秒,否则失败。 返回值: 成功:null 失败:Failed

2.1.2 实现代码

# 导包fromdubboclientimportDubboClient# 创建 dubboclient 的实例。传入 IP、portdubbo_clt=DubboClient("211.103.136.244",6502)list=[{"orderDate":"2022-04-29 11:11:12","number":66}]# 使用实例,调用 invoke方法,传入 服务名、方法名、实参resp=dubbo_clt.invoke("OrderSettingService","add",list)# 查看 响应数据print("响应结果 =",resp)print("数据类型 =",type(resp))

2.2 按月统计预约设置信息

2.2.1 传递参数

dubbo> ls -l OrderSettingService java.util.List getOrderSettingByMonth(java.lang.String) 接口定义:List getOrderSettingByMonth(String date) 参数: 字符串,如:"2021-09" 返回值: 成功:返回字符串类型数据,字符串内容为列表 失败:Failed

2.2.2 实现代码

# 导包fromdubboclientimportDubboClient# 创建 dubboclient 的实例。传入 IP、portdubbo_clt=DubboClient("211.103.136.244",6502)date="2022-12"# 使用实例,调用 invoke方法,传入 服务名、方法名、实参resp=dubbo_clt.invoke("OrderSettingService","getOrderSettingByMonth",date)# 查看 响应数据print("响应结果 =",resp)print("数据类型 =",type(resp))

2.3 根据日期修改预约设置数量

2.3.1 传递参数

dubbo> ls -l OrderSettingService void editNumberByDate(com.itheima.pojo.OrderSetting) 接口定义:void editNumberByDate(OrderSetting orderSetting) 参数: 1. 自定义类,用 字典 根据接口文档组织数据 2. 需要使用 class 指定参数对象的类型 如:{"orderDate":"2021-10-13 21:04:33","number":15, "class":"com.itheima.pojo.OrderSetting"} 3. 日期格式为:"2021-10-13 21:04:33",必须包含时分秒 返回值: 成功:null 失败:Failed

2.3.2 实现代码

# 导包fromdubboclientimportDubboClient# 创建 dubboclient 的实例。传入 IP、portdubbo_clt=DubboClient("211.103.136.244",6502)data={"orderDate":"2022-04-02 21:04:33","number":115,"class":"com.itheima.pojo.OrderSetting"}# 使用实例,调用 invoke方法,传入 服务名、方法名、实参resp=dubbo_clt.invoke("OrderSettingService","editNumberByDate",data)# 查看 响应数据print("响应结果 =",resp)print("数据类型 =",type(resp))

三、用户服务

3.1 根据用户名查询用户信息

3.1.1 传递参数

dubbo> ls -l UserService com.itheima.pojo.User findByUsername(java.lang.String) 接口定义:User findByUsername(String username) 参数:字符串类型,如:'admin' 返回值: 用户存在:返回用户信息 用户不存在:返回null

3.1.2 实现代码

# 导包fromdubboclientimportDubboClient# 创建 dubboclient 的实例。传入 IP、portdubbo_clt=DubboClient("211.103.136.244",6502)username="admin"# 使用实例,调用 invoke方法,传入 服务名、方法名、实参resp=dubbo_clt.invoke("UserService","findByUsername",username)# 查看 响应数据print("响应结果 =",resp)print("数据类型 =",type(resp))

四、现有代码存在的问题

1、代码高度冗余

2、每个方法在调用时,除了关心 参数、返回值以外,还必须 指定 服务名、方法名。

3、在调用时,人为的分辨哪些方法需要额外指定 class 键,及对应值。

4、返回的数据统一为 string 类型。不方便实现断言。

通过 封装 解决上述问题!目标:

  • 调用方法时,只需给出 参数,获取返回值即可。不需要关心服务名、方法、class 等。
  • 方法调用结束,返回具体的数据类型(字典、列表、空、失败)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 10:38:17

多模型协作:Z-Image-Turbo与其他AI工具的联合使用技巧

多模型协作&#xff1a;Z-Image-Turbo与其他AI工具的联合使用技巧 作为一名数字内容创作者&#xff0c;你是否遇到过这样的困扰&#xff1a;用Z-Image-Turbo生成的图像虽然质量不错&#xff0c;但想要进一步优化或添加特效时&#xff0c;却不知道如何与其他AI工具高效协作&…

作者头像 李华
网站建设 2026/5/24 10:10:20

阿里通义Z-Image-Turbo WebUI快速体验:无需安装的在线演示指南

阿里通义Z-Image-Turbo WebUI快速体验&#xff1a;无需安装的在线演示指南 想体验AI图像生成的神奇效果&#xff0c;但又不想在本地安装复杂的软件和依赖&#xff1f;阿里通义Z-Image-Turbo WebUI提供了一个开箱即用的在线演示环境&#xff0c;让你无需任何安装就能快速上手AI绘…

作者头像 李华
网站建设 2026/5/21 0:09:39

Z-Image-Turbo多模态应用探索:快速搭建实验环境

Z-Image-Turbo多模态应用探索&#xff1a;快速搭建实验环境 如果你正在寻找一个能快速生成高质量图像的多模态实验平台&#xff0c;Z-Image-Turbo可能是你的理想选择。这款由阿里巴巴开源的图像生成模型&#xff0c;仅需61.5亿参数就能实现亚秒级出图速度&#xff0c;特别适合需…

作者头像 李华
网站建设 2026/5/20 10:57:04

移动创作方案:iPad上远程连接Z-Image-Turbo云服务的完整指南

移动创作方案&#xff1a;iPad上远程连接Z-Image-Turbo云服务的完整指南 对于数字艺术家而言&#xff0c;iPad的便携性和触控笔的精准度是创作利器&#xff0c;但移动设备的算力限制让本地运行Z-Image-Turbo这类高性能AI图像生成模型成为难题。本文将详细介绍如何通过远程连接方…

作者头像 李华
网站建设 2026/5/22 10:23:35

小白友好:用阿里云镜像零配置体验最火AI绘画技术

小白友好&#xff1a;用阿里云镜像零配置体验最火AI绘画技术 作为一名退休教师&#xff0c;陈阿姨一直对数字艺术充满好奇&#xff0c;但复杂的命令行和代码让她望而却步。今天我要分享的"小白友好&#xff1a;用阿里云镜像零配置体验最火AI绘画技术"方案&#xff0c…

作者头像 李华