zoukankan      html  css  js  c++  java
  • Feign二:复写Feign的默认配置

    Feign二:复写Feign的默认配置

    1.在启动文件加入feign注解:@EnableFeignClients

    FeignApp.java

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
    import org.springframework.cloud.netflix.feign.EnableFeignClients;
    import org.springframework.context.annotation.Bean;
    import org.springframework.web.client.RestTemplate;
    
    @EnableEurekaClient
    @SpringBootApplication
    @EnableFeignClients
    public class FeignApp {
    
    
    	public static void main(String[] args) {
    		SpringApplication.run(FeignApp.class, args);
    	}
    }
    

      

    2.新建一个Feign的默认配置类,并创建一个bean,返回: feign.Contract.Default 默认配置

    import org.springframework.context.annotation.Bean;
    
    import feign.Contract;
    
    public class FooConfiguration {
    
    	@Bean
    	public Contract feignContract()
    	{
    		return new feign.Contract.Default();
    	}
    	
    }
    

      

    3.新建Feign客户端调用类,调用第三方接口的,并引入第2步复写的Feign配置

    import org.springframework.cloud.netflix.feign.FeignClient;
    import org.springframework.web.bind.annotation.PathVariable;
    
    import com.muyang.bootmovie.configs.FooConfiguration;
    import com.muyang.bootmovie.entity.User;
    
    import feign.RequestLine;
    
    @FeignClient(name="spring-boot-user", configuration=FooConfiguration.class)
    public interface UserFeignClient {
    
    	@RequestLine("GET /simple/{id}")
    	public User findById(@PathVariable("id") Long id);
    }
    

      

    4.创建controller类,并调用feign客户端类

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    import com.muyang.bootmovie.entity.User;
    import com.muyang.bootmovie.feign.UserFeignClient;
    
    import feign.Param;
    
    
    @RestController
    public class UserController {
    
    	@Autowired
    	private UserFeignClient userFeignClient;
    	
    	@GetMapping("/user/{id}")
    	public User findById(@Param("id") Long id) {
    		return this.userFeignClient.findById(id);
    	}
    	
    	
    }
    

    5。一些其他参考

    user.java

    import java.math.BigDecimal;
    
    public class User {
    
    	private  Long id;
    	
    	private String username;
    	
    	private String name;
    	
    	private int age;
    	
    	private BigDecimal balance;
    
    	public Long getId() {
    		return id;
    	}
    
    	public void setId(Long id) {
    		this.id = id;
    	}
    
    	public String getUsername() {
    		return username;
    	}
    
    	public void setUsername(String username) {
    		this.username = username;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		this.age = age;
    	}
    
    	public BigDecimal getBalance() {
    		return balance;
    	}
    
    	public void setBalance(BigDecimal balance) {
    		this.balance = balance;
    	}
    	
    	
    	
    	
    	
    }
    

      

    pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    
    	<artifactId>boot-spring-movie-feign-override</artifactId>
    	<packaging>jar</packaging>
    
    	<parent>
    		<groupId>com.muyang</groupId>
    		<artifactId>boot-spring-cloud</artifactId>
    		<version>0.0.1-SNAPSHOT</version>
    	</parent>
    
    	<properties>
    		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    		<java.version>1.8</java.version>
    	</properties>
    
    	<dependencies>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-eureka</artifactId>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-actuator</artifactId>
    		</dependency>
    		
    		<dependency>
    				<groupId>org.springframework.cloud</groupId>
    				<artifactId>spring-cloud-starter-feign</artifactId>
    		</dependency>	
    		
    	</dependencies>
    
    	
    
    
    </project>
    

      

      

  • 相关阅读:
    大数据DDos检测——DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然! 和一个句子的分词算法CRF没有区别!
    什么是私有密钥密码技术——密钥加密算法采用同一把密钥进行加密和解密
    条件随机场——时间序列(句子单词序列也算),其特征函数必须要考虑前一刻的数据
    隐形马尔可夫模型——前向算法就是条件概率
    MySQL添加字段和修改字段的方法
    shell脚本操作mysql数据库
    mysql 如何修改、添加、删除表主键
    shell按行合并文件
    MySQL主键添加/删除
    MySQL 添加列,修改列,删除列
  • 原文地址:https://www.cnblogs.com/achengmu/p/9757609.html
Copyright © 2011-2022 走看看