当前位置: 首页 >服务端 > Feign二: @FeignClient 接口调用

Feign二: @FeignClient 接口调用

在项目的启动文件加入:@EnableFeignClients 注解,

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@EnableFeignClientspublic class FeignApp {	public static void main(String[] args) {		SpringApplication.run(FeignApp.class, args);	}}

  

实例结构如下:

 

Feign二: @FeignClient 接口调用 _ JavaClub全栈架构师技术笔记

 

 

 

那么有实体类: User.java

Fengn客户端:UserFeignClient.java

控制器: MovieController.java调取第三方user接口

 

User.java

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

  

UserFeign客户端

其中:@FeignClient("spring-boot-user"): spring-boot-user是eureka服务里面user项目的名称,加入此注解,能直接连接user项目接口

import org.springframework.cloud.netflix.feign.FeignClient;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import com.muyang.bootmovie.entity.User;@FeignClient("spring-boot-user")public interface UserFeignClient {	// 两个坑:1. @GetMapping不支持2. @PathVariable得设置value	@RequestMapping(value="/simple/{id}", method=RequestMethod.GET)	public User findById(@PathVariable("id") Long id);		@RequestMapping(value="/test", method=RequestMethod.POST)	public User postUser(@RequestBody User user);}

  

MovieController控制中心,调取UserFeign客户端

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import com.muyang.bootmovie.entity.User;import com.muyang.bootmovie.feign.UserFeignClient;@RestControllerpublic class MovieController {	@Autowired	private UserFeignClient userFeignClient;		@GetMapping("/movie/{id}")	public User findById(@PathVariable("id") Long id) {		retu this.userFeignClient.findById(id);	}		@RequestMapping(value="/test", method=RequestMethod.GET)	public User userPost(User user)	{		retu this.userFeignClient.postUser(user);			}}

  

 

作者:穆晟铭
来源链接:https://www.cnblogs.com/achengmu/p/9726691.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/server/113315.html

标签:Feign
分享给朋友:

“Feign二: @FeignClient 接口调用” 的相关文章

Python基础知识 2022年05月16日 21:27:39
【python】函数用法详解(一) 2022年05月16日 21:27:53
划分子网和构造超网的学习 2022年05月17日 13:57:19
Python 查找算法 2022年05月20日 21:28:36
引用类型 2022年05月21日 11:41:30