使用telnet测试dubbo接口初使用

背景

dubbo接口的测试不像controller的http接口那么容易测试,这里去了解了下使用telnet去测试参数没那么复杂的dubbo接口。

正题

首先看看一个dubbo接口的代码:

public interface ShopAggregateRemoteService {
    /**
     * 获取所有产品类型 聚合字段的产品类型范围[软件+有伴服务]
     * @param careDeleteFlag 是否关心软删 true:只返回生效的 false:全部返回
     * @return
     */
    ListResult<AggregateProductTypeDTO> getAllAggregateProductType(boolean careDeleteFlag);

    /**
     * 获取所有产品类型 聚合字段的产品类型范围[软件+有伴服务]
     * @return
     */
    default ListResult<AggregateProductTypeDTO> getAllAggregateProductType() {
          return getAllAggregateProductType(false);
    }
}

里面的实现:(就是一个简单的查数据库操作)

@Override
public ListResult<AggregateProductTypeDTO> getAllAggregateProductType(boolean careDeleteFlag) {
    AggregateProductTypeCriteria example = new AggregateProductTypeCriteria();

    AggregateProductTypeCriteria.Criteria criteria = example.createCriteria();
    if (careDeleteFlag) {
        // 关心软删 加入软删标志
        criteria.andDeleteFlagEqualTo(0);
    }
    return DTOWrapper.wrap(customerConverter.convertList(aggregateProductTypeMapper.selectByCondition(example),
            AggregateProductTypeDTO.class));
}

这里想本地启动项目去测试一下这个接口有没有问题,这个参数也比较简单(这里直接调用default方法就可以了)。

这里使用的mac系统,但是mac系统中高版本未默认安装telnet,所以还需要brew去安装一下。

brew install telnet

安装完成之后,就可以在本地将服务启动。

输入命令去telnet这个服务的dubbo接口:

telnet localhost 7100

然后可以看到进入到了dubbo的命令行界面:

这里可以用dubbo的ls命令去查看有什么dubbo服务:

最后是我们的invoke调用这个命令

invoke com.youzan.xxx.getAllAggregateProductType()

可以看到结果是调通的:

总结

这里使用的dubbo的简单命令去测试了工作中的一个接口,之后会对dubbo的使用和测试做更多的分析。


版权声明:本文为zlj1217原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。