改造消费方解决地址硬编码问题
修改UserController代码,用DiscoveryClient类的方法,根据服务名称,获取服务实例:
package com.itcast.service.contoller;import com.itcast.service.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.client.RestTemplate;import java.util.List;@Controller
@RequestMapping("consumer/user")
public class UserController {@Autowiredprivate RestTemplate restTemplate;@Autowiredprivate DiscoveryClient discoveryClient; // eureka客户端,可以获取到eureka中服务的信息@GetMapping@ResponseBodypublic User queryUserById(@RequestParam("id") Long id){// 根据服务名称,获取服务实例。有可能是集群,所以是service实例集合List<ServiceInstance> instances = discoveryClient.getInstances("provider");// 因为只有一个Service-provider。所以获取第一个实例ServiceInstance instance = instances.get(0);// 获取ip和端口信息,拼接成服务地址String baseUrl = "http://" + instance.getHost() + ":" + instance.getPort() + "/user/" + id;User user = this.restTemplate.getForObject(baseUrl, User.class);return user;}}
改造消费方解决地址硬编码问题相关推荐
- 如何使用SQL Server主数据服务替换硬编码的查找
介绍 (Introduction) A big part of the technical debt in my organization's data warehouse (DW) and busi ...
- oracle SQL语句硬编码带来的问题以及解决办法
好久没有写博客(吹nb)了,最近在工作中遇到了一些SQL硬编码的问题(系统部提出的要求,要求开发优化sql),下面具体说说. 1.硬解析即整个SQL语句的执行需要完完全全的解析,生成执行计划. 硬解析 ...
- 开源规则引擎——ice:致力于解决灵活繁复的硬编码问题
背景介绍 业务中是否写了大量的 if-else?是否受够了这些 if-else 还要经常变动? 业务中是否做了大量抽象,发现新的业务场景还是用不上? 是否各种调研规则引擎,发现不是太重就是接入或维护太 ...
- Android开发——AS插件批量解决XML中的String/Color/Dimen硬编码
1. 问题抛出 1.1 开发方面 对于日常开发中,每写一个"#333",都要手动的在当前xml与colors.xml中来回切换,查看是否已经定义过,如果定义过则拿过来复用,如果没有 ...
- 使用Mapper代理开发解决硬编码问题
步骤: 一.定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下 二.设置SQL映射文件的namespace属性为Mapper接口全限定名 三.在Mapp ...
- 视频直播推流技术(MediaCodec硬编码+libRTMP,编码器),Demo - Android
- aac audio_codec; h264,video_codec;25 framerate 25帧; - Camera-YUV帧序列-YUV帧预处理(镜像 缩放 旋转)-编码器-H264数据 从 ...
- EasyPusher安卓Android手机直播推送之MediaCodec 硬编码H264格式
EasyPusher安卓Android手机直播推送之MediaCodec 硬编码H264格式 最近在研究EasyDarwin的Push库EasyPusher,EasyPusher可以推送H264视频到 ...
- 1小时学会:最简单的iOS直播推流(七)h264/aac 硬编码
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源 ...
- 工厂用抽象类比接口_用简单的现实类比解释硬编码概念
工厂用抽象类比接口 by Samer Buna 通过Samer Buna 用简单的现实类比解释硬编码概念 (Hard Coding Concepts Explained with Simple Rea ...
最新文章
- 顶尖技术专家严选,15场前沿论坛思辨,2019中国大数据技术大会邀您共赴
- 开放式创新改变世界——OpenStack生态系统将重新洗牌
- 如何轻松应对DNS劫持
- Linux系统支持的目录文件有,【技术支持】linux操作系统有哪些文件和目录操作相关命令?...
- Java各类型变量之间的转换
- Android 事件分发面试题2
- C#中的get和post请求(工具类)
- sql OFFSET 和 ORDINAL
- ajax java 插件_对JQuery中Ajax应用与jQuery插件的理解与笔记
- C++局部变量和全局变量的初始化
- 小谈CDN回源函数计算的应用场景
- linux oracle semopm,Linux 内核参数设置于详解 --Oracle 安装
- Ubuntu ufw防火墙常见命令
- enctype=multipart/form-data 文件上传
- C# 最简单的全局键盘鼠标钩子
- FastReport .NET 2022.3.6-新版Crack
- 扫拖地机器人预留_进阶规划,扫拖一体,小瓦扫地机器人规划版重度体验
- oracle求累积收益率,解决报表sql中的累计收益率问题?换个姿势,再来一次~
- CF567C Geometric Progression
- 考研专业课,到底要不要报辅导班?