随着微服务兴起,越来越多的项目使用微服务架构进行开发,SpringCloud是最流行的微服务开发组件集之一。但是和dubbo相比,使用SpringCloud 开发和调用接口 要麻烦很多,很多开发人员都希望能简化SpringCloud 开发和调用过程和步骤,QuikRpc 就是用来简化SpringCloud 开发和调用过程的组件,使用QuikRpc 服务开发者只需要在service接口用注解标记哪个方法对外开放,服务使用者只需要像使用本地spring bean一样把service @Autowired进来即可,大大简化了spring cloud 服务接口开发和调用步骤,有效的降低了spring cloud的使用和学习成本。
1 、用原生方式完成一个springcloud微服务接口开发与调用过程:
A、写一个service接口,在service实现类中实现业务
B、写一个controller,调用service,完成接口暴漏
C、写一个feign 接口,用于包装controller暴漏出来的接口
D、消费者通过feign代理接口来调用 A步骤写的service代码
2、用QuikRpc 完成一个springcloud微服务接口开发与调用过程:
A、写一个service接口,在接口上加上注解,在暴漏的方法上加上注解,在service实现类实现业务
B、消费者@Autowired service到自己代码中完成调用。
1、给启动类所在项目添加POM依赖
<dependency> <groupId>com.fhs-opensource</groupId> <artifactId>easy-cloud-spring-boot-starter</artifactId> <version>1.0.0</version> </dependency>
2 需要将依赖的POJO和service放到单独的一个模块中,让服务提供者和消费者都可依赖到,service 接口代码示例如下:
@CloudApi(serviceName="producer")//producer 是服务提供者的服务名称 public interface UserService { @CloudMethod //加此注解意思是此方法提供给其他微服务调用 List<UserDto> listByIds(String[] ids); }
此模块需要依赖:
<dependency> <groupId>com.fhs-opensource</groupId> <artifactId>easy_cloud_anno</artifactId> <version>1.0.0</version> </dependency>
3 消费者 和提供者启动类添加 @EnableEasyCloud(basePackages = "com.fhs") 其中com.fhs 指的是service类的包,可以多个
4 在消费者需要调用userservice的地方直接@Autowired 即可
@Autowired private UserService userService;
1、如果参数或者返回值有泛型的情况下,或者嵌套层级过深,可能会有问题,这是Java编译机制和fastjson的问题
2、如果参数类型定义了map,反序列化后value的类型可能和你原来的类型不同,比如date 会变成日期字符串,所以map vallue只推荐使用字符串,数字,boolean类型传参,当然尽量不要用map
3、本插件消费者是通过restTemplate调用服务端接口,服务端接口路径为:/easyCloud/proxy/{serviceClass}/{methodName} 如果项目中用到了权限插件请放行
4、如果服务间调用希望加权限认证,可以自定义一个resttemplate,配合spring拦截器或者过滤器拦截/easyCloud/proxy开头请求实现认证
点击下方链接观看: https://www.bilibili.com/video/BV1Pi4y1G79t/ 其中的关键内容: 一、父模块pom.xml内容如下,供大家直接拷贝 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
本文向大家介绍SpringCloud使用Feign实现服务调用,包括了SpringCloud使用Feign实现服务调用的使用技巧和注意事项,需要的朋友参考一下 Spring Cloud Feign简介 Spring Cloud Feign也是一个基础工具类,它整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除了提供这两者的强大功能以外,它还提供了一种声明式的
本文向大家介绍C#微信开发之获取接口调用凭据,包括了C#微信开发之获取接口调用凭据的使用技巧和注意事项,需要的朋友参考一下 获取接口调用凭据 ①接口说明 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2h(7200s),需定时
本文向大家介绍Python调用服务接口的实例,包括了Python调用服务接口的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 运行Python脚本,即可调用相应的接口修改数据库数据。 text.txt中即为参数,以空格分隔 以上这篇Python调用服务接口的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍C#开发微信公众号接口开发,包括了C#开发微信公众号接口开发的使用技巧和注意事项,需要的朋友参考一下 具体实现方式不多说了,请看下文 一、前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号密码。作为微信接口开发人员我们知道网页授权可以用作微
Mooa 是一个为 Angular 服务的微前端框架,它是一个基于 single-spa,针对 IE 10 及 IFRAME 优化的微前端解决方案。 Mooa 概念 Mooa 框架与 Single-SPA 不一样的是,Mooa 采用的是 Master-Slave 架构,即主-从式设计。 对于 Web 页面来说,它可以同时存在两个到多个的 Angular 应用:其中的一个 Angular 应用作为主
Angular 基于 Component 的思想,可以让其在一个页面上同时运行多个 Angular 应用;可以在一个 DOM 节点下,存在多个 Angular 应用,即类似于下面的形式: <app-home _nghost-c3="" ng-version="5.2.8"> <app-help _nghost-c0="" ng-version="5.2.2" style="display:bl
Web 插件开发-服务调用 获取 App Key 和 App Secret 关联服务 安装 SDK 示例代码 注意事项 Web 插件开发-服务调用 更新时间:2018-07-03 20:05:49 介绍如何在 Web 插件开发过程中调用服务 获取 App Key 和 App Secret 查看插件开发 App Key & App Secret: 关联服务 点击“新增服务”按钮,在当前插件版本下关联