当前位置: 首页 > news >正文

springcloud-2service consumer

创建使用会员微服务模块-service consumer

思路分析/图解

  1. 创建Moduel(member-service-consumer-80) & 完成配置

  1. new Module->member-service-consumer-80->finish

  1. 检查父子项目的pom是否添加相应的对应module和parent

  1. 本项目的pom.xml可以参考provider的,并删掉多余的依赖

    <dependencies><!--使用版本仲裁--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--说明:starter-actuator是springboot程序的监控系统,可实现系统的健康检测可以通过http://localhost:10000/actuator看到相关的连接和信息--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--相对于provider,删除了以下依赖mybatisdruidmysqljdbctest--></dependencies>
  1. 创建本模块的application.yml

server:port: 80
spring:application:name: member-service-consumer-80
  1. 业务实现

  1. 创建entity实体类。因为这个模块是起的传递作用,实体和provider一致

Member
Result
  1. 注入RestTemplate

RestTemplate基本介绍

1、RestTemplate是Spring提供的用于访问Rest服务的模板类

2、RestTemplate提供了多种便捷访问远程Http服务的方法

3、说明:可以这样理解,通过RestTemplate,我们可以发出http请求(支持Restful)风格),去调用Controller:提供的API接口,就像我们使用浏览器发出http请求,调用该API接口一样。

4、使用简单便捷

官方文档:https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html

  • 配置RestTemplate

@Configuration
public class CustomizationBean {@Beanpublic RestTemplate getRestTemplate(){return new RestTemplate();}
}
  1. 创建controller

@RestController
@Slf4j
public class MemberConsumerController {@Resourceprivate RestTemplate restTemplate;private static final String MEMBER_SERVICE_PROVIDER_URL="http://localhost:10000";@PostMapping("/consumer/add")public Result<Member> addMember(Member member){//请求的完整url:MEMBER_SERVICE_PROVIDER_URL+"/member/save"//member:就是通过restTemplate发出post请求携带数据(对象)//Result.class:返回对象类型log.info("consumer-member={}",member);return restTemplate.postForObject(MEMBER_SERVICE_PROVIDER_URL + "/member/add", member, Result.class);}@GetMapping("/consumer/query/{id}")public Result<Member> queryMemberById(@PathVariable Long id){return restTemplate.getForObject(MEMBER_SERVICE_PROVIDER_URL+"/member/query/"+id,Result.class);}
}
  • 注意踩坑1:因为消费者和生产者的传输机制原因,这儿的生产者是用对象的传输方式,所以在参数那儿需要添加@RequestBody

    public Result addMember(@RequestBody Member member){
  • 注意踩坑2:还是因为在网络中传输,需要把生产者和消费者的entity序列化(2个)。

public class Member implements Serializable {
  • 需要完成以上2点,否则会报错。

  1. 完成测试

测试时注意post/get请求方式。注意参数的形式。


开启仪表盘 Run DashBoard

什么是Run Dashboard

当springcloud的服务有多个时,管理多个服务的启动使用run会不好管理,这样我们就可以使用RunDashboard.

开启步骤

  1. 找到你的项目/.idea/workspace.xml文件在其中添加下面的代码即可。

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
//从这儿开始插入如下内容<component name="RunDashboard"><option name="configurationTypes"><set><option value="SpringBootApplicationConfigurationType"/></set></option><option name="ruleStates"><list><Rulestate><option name="name" value="ConfigurationTypeDashboardGroupingRule"/></Rulestate><Rulestate><option name="name" value="StatusDashboardGroupingRule"/></Rulestate></list></option></component> 
  1. 重启IDEA

  1. 菜单栏选取View->ToolWindows->Services(Alt+8)

  1. 左下角操作即可。

http://www.lryc.cn/news/17959.html

相关文章:

  • JavaScript 进阶--charater3
  • Solon2 之基础:三、启动参数说明
  • 引入防关联浏览器以防止数据盗窃
  • Spring的一些知识点
  • 使用WordPress快速搭建外贸网站教程
  • 在 vue 或 react 项目中使用 mockjs 搭建 mock server
  • 【十一届蓝桥杯】
  • vm 网络配置
  • 2023年CDGA考试-第11章-数据仓库和商务智能(含答案)
  • 从0-1搭建流媒体系统之live555 安装、运行、转发、拉流
  • 搭建个人博客保姆级教程(二)
  • 数字图像处理与Python实现-Pillow图像处理
  • HMM隐马尔可夫模型 | 关键原理+面试知识点
  • 【Leedcode】数据结构中链表必备的面试题(第三期)
  • D1.Chopping Carrots (Easy Version)【数学,二分,暴力,思维】
  • 【Maven】(二)使用 Maven 创建并运行项目、聊聊 POM 中的坐标与版本号的规则
  • (考研湖科大教书匠计算机网络)第六章应用层-第六节:电子邮件
  • 一、初识TypeScript、什么是类型系统
  • 一文了解什么是字节对齐(超详细)
  • Java无法通过形参设置为null改变实参
  • GEE:样本点选择教程
  • 3.知识图谱相关学习资料汇总,提供系统化的知识图谱学习路径。一份详细的指南,补全你知识的漏洞
  • TypeScript学习笔记(一)编译环境、数据类型、函数类型、联合类型
  • 为什么要移除数据库物理外键?
  • Linux 计划任务讲解
  • Qt智能指针模板类的使用方式和区别总结
  • 【STL】模拟实现vector
  • Window 的 PHP XAMPP 安装 mongodb 的扩展
  • Codeforces Round #849 (Div. 4)(E~G)
  • 网易云音乐财报解读:收入大增亏损收窄,“云村”草长莺飞