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

网站建设与开发友情链接交换

网站建设与开发,友情链接交换,知企业网站怎么打不开,WordPress用户页面Spring Cloud中集成Feign (只是笔记而已 其中有点命名啥的不对应,搜到了就划走吧) Feign--[feɪn]:Web 服务客户端,能够简化 HTTP 接口的调用。 没有Feign的之前服务提供者 package com.springcloudprovide.controller;import com.springclo…

Spring Cloud中集成Feign

        (只是笔记而已 其中有点命名啥的不对应,搜到了就划走吧)

        Feign--[feɪn]:Web 服务客户端,能够简化 HTTP 接口的调用。

        没有Feign的之前服务提供者

package com.springcloudprovide.controller;import com.springcloudprovide.service.UserName;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserController {@Autowiredprivate UserName userName;@RequestMapping("username")public String getUserName(){return userName.getUsername();}
}

        服务消费者,通过RestTemplate来调用服务提供者的服务接口

package com.springcloudconsumer.tempalte;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;@Configuration
public class RestTemplateConfiguration {@Bean@LoadBalancedpublic RestTemplate getRestTmplate(){return new RestTemplate();}
}
package com.springcloudconsumer.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;@RestController
public class UserBeanController {@Autowiredprivate RestTemplate restTemplate;@RequestMapping("/showName")public String getUserName(){System.out.println("123");return restTemplate.getForObject("http://localhost:8081/username", String.class);}
}

Feign的使用

创建基于Eureka模块的注册中心和服务提供者

基于Feign的服务消费者

 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId><version>3.0.2</version></dependency><!--  openfeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>3.0.2</version></dependency>

定义Feign的客户端接口

package com.springcloud.feign.service;import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;@FeignClient(value = "eurekaprovider")
public interface UserServiceFeign {@RequestMapping("username")public String getUserName();
}

这个注解@FeignClient标识当前是一个 Feign 的客户端,value 属性是对应的服务名称,也就是你需要调用哪个服务中的接口。

创建服务消费者的控制类

package com.wangxing.eurekacomsumer.eurekacomsumerdemo.controller;
import com.wangxing.eurekacomsumer.eurekacomsumerdemo.serviceclient.UserFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;=
@RestController
public class UserBeanController {//注入一个Feign的客户端对象@Autowiredprivate UserFeignClient  userFeignClient;@RequestMapping("/showName.do")public  String  getUserName(){return  userFeignClient.getUserName();}
}

配置主类

package com.springcloud.feign;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.openfeign.EnableFeignClients;@SpringBootApplication
@EnableHystrix
@EnableFeignClients
public class SpringcloudFeignApplication {public static void main(String[] args) {SpringApplication.run(SpringcloudFeignApplication.class, args);}}

如果你的 Feign 接口定义跟你的启动类不在同一个包名下,还需要制定扫描的包名 @EnableFeignClients(basePackages=“com.fangjia.api.client”)

通过跟之前的代码相比可以发现,我们的调用方式变得越来越简单了,从最开始的指定地址,到后面通过 Eureka 中的服务名称来调用,再到现在直接通过定义接口来调用。

Feign 提供了很多的扩展机制,让用户可以更加灵活的使用,这节我们来学习 Feign 的一些自定义配置。
使用配置自定义 Feign 的配置
除了使用代码的方式来对 Feign 进行配置,我们还可以通过配置文件的方式来指定 Feign 的配置。
# 链接超时时间
feign.client.config.feignName.connectTimeout=5000
# 读取超时时间
feign.client.config.feignName.readTimeout=5000
# 日志等级
feign.client.config.feignName.loggerLevel=full
# 重试
feign.client.config.feignName.retryer=com.example.SimpleRetryer
# 拦截器
feign.client.config.feignName.requestInterceptors[0]=com.example.FooRequestInterceptor
feign.client.config.feignName.requestInterceptors[1]=com.example.BarRequestInterceptor
# 编码器
feign.client.config.feignName.encoder=com.example.SimpleEncoder
# 解码器
feign.client.config.feignName.decoder=com.example.SimpleDecoder
# 契约
feign.client.config.feignName.contract=com.example.SimpleContract

http://www.ds6.com.cn/news/14786.html

相关文章:

  • 网站和小程序的区别有域名和服务器怎么建网站
  • js 网站开发网络营销的成功案例分析
  • 做类似58同城的网站网络销售怎么聊客户
  • 广州市城乡和建设局网站网络推广员一个月多少钱
  • 建网站公司百度推广退款电话
  • 设计做的网站哪些好中文域名交易平台
  • 怎样做一个网络营销seo教程
  • 直播间网站开发目前推广软件
  • 手机app ui设计seo 关键词优化
  • 做视频网站的条件soso搜搜
  • 南通网站建设找哪家好推广策略都有哪些
  • 做外包哪个网站好一些百度快照官网登录
  • 西安网站制作培训成都网站快速开发
  • dede网站下载网络营销应用方式
  • 如何做网站维护谷歌seo排名技巧
  • 常见的旅游网络营销方式衡阳百度seo
  • 正规手表回收网站2345网址导航官网下载
  • 做网站优化的公司的宣传海报百度网页版登录入口
  • 为解析的域名做网站网站查找工具
  • 建设网站租用空间网站优化排名软件哪些最好
  • 网站开发用php还是.net好苏州seo按天扣费
  • 佛山市个性网站建设设计公司千锋教育的it培训怎么样
  • 广东揭阳疫情最新消息seo排名优化软件有
  • 做网站的公司有前途吗简述常用的网络营销方法
  • 徐州网站制作建设谷歌搜索引擎首页
  • 想要一个免费的网站新闻头条
  • 河北邢台专业做网站社群营销案例
  • 宁波seo网站推广怎样免费给自己的公司做网站
  • 邵阳网站建设推广网站域名怎么查询
  • 衡水网站建设怎么做太原做网站的