无需controller直接调用API方法
作者:互联网
import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.ReferenceConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.alibaba.fastjson.JSONObject;
import com.cheetah.extend.result.ResultSet;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 写一个有main方法的类就行
*/
public class AppTestDelete {
public static void main(String[] args) throws Exception{
// 当前应用配置
ApplicationConfig application = new ApplicationConfig();
application.setName("test-consumer");
application.setOwner("nieminle");
// 连接注册中心配置,有些zk地址需要内网
RegistryConfig registry1 = new RegistryConfig();
registry1.setAddress("这里是你的注册中心,我用的zookeeper");
// 注意:ReferenceConfig为重对象,内部封装了与注册中心的连接,以及与服务提供方的连接
// 引用远程服务
ReferenceConfig<IAccStudyAginAPI> reference = new ReferenceConfig<IAccStudyAginAPI>(); // 此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏
reference.setApplication(application);
reference.setRegistries(Arrays.asList(registry1));
reference.setInterface(IAccStudyAginAPI.class);
reference.setVersion("1.0.0"); //版本号
// 和本地bean一样使用xxxService
IAccStudyAginAPI permissionFacadeAPI = reference.get(); // 注意:此代理对象内部封装了所有通讯细节,对象较重,请缓存复用
List<UserCourseOrderParam> param = new ArrayList<>();
ResultSet<List<UserCourseOrderDTO>> resultSet = permissionFacadeAPI.queryUserCourseByOrderId(param);
System.out.println("关键字=-=-=-=-=-="+ JSONObject.toJSONString(resultSet));
//结果会输出一大段文字,你搜关键字就能找到API接口返回的值
}
}
标签:调用,reference,application,controller,API,new,import,ReferenceConfig,com 来源: https://blog.csdn.net/weixin_43850320/article/details/116481295