Springcloud RestTemplate服务调用代码实例
1.服务productservices
@RestController public class ProductController { @RequestMapping("/product/findAll") public Map findAll(){ Map map = new HashMap(); map.put("111","苹果手机"); map.put("222","苹果笔记本"); return map; } }
2.服务userservices
@RestController public class UserController { @RequestMapping("/user/showProductMsg") public String showProductMsg(){ RestTemplate restTemplate = new RestTemplate(); String msg = restTemplate.getForObject("http://127.0.0.1:9001/product/findAll",String.class); return msg; } }
3.问题
1.直接使用restTemplate方式调用没有经过服务注册中心获取服务地址,代码写死不利于维护,当服务宕机时不能高效剔除。
2.调用服务时没有负载均衡需要自己实现负载均衡策略。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解SpringBoot中RestTemplate的几种实现
RestTemplate的多种实现 使用JDK默认的http library 使用Apache提供的httpclient 使用Okhttp3 @Configuration public class RestConfig { @Bean public RestTemplate restTemplate(){ RestTemplate restTemplate = new RestTemplate(); return restTemplate; } @Bean("urlConnection"
-
Spring-boot oauth2使用RestTemplate进行后台自动登录的实现
内容不限于登录业务,主要简单介绍RestTemplate的用法,包括 使用RestTemplate进行post请求 postForObject 使用RestTemplate带body/form-data进行post请求 MultiValueMap 使用RestTemplate带josn进行post请求JSONObject 使用RestTemplate带头信息headers进行post请求 HttpHeaders 登录流程 定义 RestTemplate 定义 MultiValueMap,构造 p
-
Springboot RestTemplate 简单使用解析
前言 spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值类型即可. 相较于之前常用的HttpClient,RestTemplate是一种更优雅的调用RESTful服务的方式.该类主要用到的函数有:exchange.getForEntity.postForEntity等.我主要用的是后面两个函数,来执行发送get跟post请求. 首先是RestTemplat
-
Spring学习笔记之RestTemplate使用小结
前言 作为一个Java后端,需要通过HTTP请求其他的网络资源可以说是一个比较常见的case了:一般怎么做呢? 可能大部分的小伙伴直接捞起Apache的HttpClient开始做,或者用其他的一些知名的开源库如OkHttp, 当然原生的HttpURLConnection也是没问题的 本篇博文则主要关注点放在Sprig的生态下,利用RestTemplate来发起Http请求的使用姿势 I. RestTempalate 基本使用 0. 目标 在介绍如何使用RestTemplate之前,我们先抛出一些
-
如何使用Spring RestTemplate访问restful服务
一. 什么是RestTemplate Spring's central class for synchronous client-side HTTP access. It simplifies communication with HTTP servers, and enforces RESTful principles. It handles HTTP connections, leaving application code to provide URLs(with possible tem
-
Spring cloud restTemplate 传递复杂参数的方式(多个对象)
使用微服务的时候往往服务之间调用比较麻烦,spring cloud提供了Feign接口调用,RestTemplate调用的方式 这里我探讨下RestTemplate调用的方式: 服务A:接收三个对象参数 这三个参数的是通过数据库查询出来的 服务B:要调用服务A 服务B提供了查询三个参数的方法,后面要使用三个参数 对于服务A,处理的方式有两中 1. 服务B提供一个Feign接口将查询三个参数的方法公开,服务A直接引用Feign来查询参数,服务B只需要将三个查询关键字传递过去即可 服务A acti
-
Spring RestTemplate具体使用详解
1.什么是REST? REST(RepresentationalState Transfer)是Roy Fielding 提出的一个描述互联系统架构风格的名词.REST定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的Web 服务,包括使用不同语言编写的客户端如何通过 HTTP处理和传输资源状态. 为什么称为 REST?Web本质上由各种各样的资源组成,资源由URI 唯一标识.浏览器(或者任何其它类似于浏览器的应用程序)将展示出该资源的一种表现方式,或者一种表现状态.如果用户在该页
-
Springboot集成restTemplate过程详解
一restTemplate简介 restTemplate底层是基于HttpURLConnection实现的restful风格的接口调用,类似于webservice,rpc远程调用,但其工作模式更加轻量级,方便于rest请求之间的调用,完成数据之间的交互,在springCloud之中也有一席之地.大致调用过程如下图 二restTemplate常用方法列表 forObeject跟forEntity有什么区别呢?主要的区别是forEntity的功能更加强大一些,其返回值是一个ResponseEntit
-
Springcloud RestTemplate服务调用代码实例
1.服务productservices @RestController public class ProductController { @RequestMapping("/product/findAll") public Map findAll(){ Map map = new HashMap(); map.put("111","苹果手机"); map.put("222","苹果笔记本"); return
-
Springcloud基于OpenFeign实现服务调用代码实例
1.依赖 <!--引入open feign依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> </dependencies> 2.启动注解 @SpringBootApplication @Enabl
-
Spring Cloud多个微服务之间调用代码实例
这篇文章主要介绍了Spring Cloud多个微服务之间调用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 现在又一个学生微服务 user 和 学校微服务 school,如果user需要访问school,我们应该怎么做? 1.使用RestTemplate方式 添加config import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.spr
-
SpringCloud OpenFeign 服务调用传递 token的场景分析
目录 业务场景 RequestInterceptor 多线程环境下传递 header(一) 分析 inheritableRequestAttributesHolder 原理 分析 inheritableRequestAttributesHolder 失效原因 多线程环境下传递 header(二) 控制主线程在子线程结束后再结束 重新保存 request 的 header 结语 业务场景 通常微服务对于用户认证信息解析有两种方案 在 gateway 就解析用户的 token 然后路由的时候把 us
-
基于JAVA的短信验证码api调用代码实例
本文实例为大家分享了JAVA的短信验证码api调用代码,供大家参考,具体内容如下 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import jav
-
SpringCloud Feign 服务调用的实现
前言 前面我们已经实现了服务的注册与发现(请戳:SpringCloud系列--Eureka 服务注册与发现),并且在注册中心注册了一个服务myspringboot,本文记录多个服务之间使用Feign调用. Feign是一个声明性web服务客户端.它使编写web服务客户机变得更容易,本质上就是一个http,内部进行了封装而已. GitHub地址:https://github.com/OpenFeign/feign 官方文档:https://cloud.spring.io/spring-cloud-
-
基于JAVA每月运势api调用代码实例
本文实例为大家分享了JAVA每月运势api调用代码,供大家参考,具体内容如下 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.
-
SpringCloud Ribbon负载均衡代码实例
1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g
-
SpringCloud Feign的使用代码实例
1.官方文档 https://cloud.spring.io/spring-cloud-static/spring-cloud-openfeign/2.2.2.RELEASE/reference/html/ 2.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dep
-
SpringCloud Zuul自定义filter代码实例
实现过滤器很简单,只需要继承ZuulFilter,并实现ZuulFilter中的抽象方法. filterType():定义过滤器的类型,它有4种类型,分别是pre.post.routing和error filterOrder():过滤顺序,它是一个Int类型的值,值越小,越早执行该过滤器 shouldFilter():表示该过滤器是否过滤逻辑,如果为true,则执行run方法,如果为false,则不执行run方法 Object run():写具体的过滤逻辑 注意重要说明,有些版本在转发post时
随机推荐
- 微信公众平台开发——群发信息
- IE7下ajax之open Method New的说明
- JQuery中$之选择器用法介绍
- PHP求小于1000的所有水仙花数的代码
- c#利用Excel直接读取数据到DataGridView
- Linux下安装Python3和django并配置mysql作为django默认服务器方法
- php检测文件编码的方法示例
- 详解PHP匿名函数与注意事项
- 比较不错的打印效果 css
- jQuery模仿京东/天猫商品左侧分类导航菜单效果
- Java中避免NullPointerException的方法总结
- JS写的数字拼图小游戏代码[学习参考]
- Java获取时间年、月、日的方法
- 解决TreeSet类的排序问题
- Android仿微信雷达辐射搜索好友(逻辑清晰实现简单)
- 深入分析缓存依赖中cachedependency对象及周边小讲
- C#中实现Fluent Interface的三种方法
- Android模拟用户点击的实现方法
- 如何通过Python实现标签云算法
- 一次 Java 内存泄漏的排查解决过程详解