1 OpenFeign简介 OpenFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。
项目结构
文章图片
1在pom.xml中添加相关依赖
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
spring-cloud-starter-openfeign
2在application.yml进行配置
主要是配置了端口和注册中心地址。
server:
port: 8085
spring:
application:
name: springcloud-openfeign
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://localhost:8081/eureka/
3编写openfeign调用接口
package com.example.springcloudribbon.service;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@FeignClient(name = "serviceA")
@Component
public interface MyInfo {@RequestMapping(value = "https://www.it610.com/a", method = RequestMethod.GET)
String getUser();
}
4编写controller
package com.example.springcloudribbon.controller;
import com.example.springcloudribbon.service.MyInfo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
public class TestController {@Resource
MyInfo myInfo;
@GetMapping("/test")
public String getTest() {System.out.println("test-openfeign");
String result=myInfo.getUser();
System.out.println(result);
return result;
}@GetMapping("/test1")
public String getTest1() {return "test1";
}
}
5 启动项目 访问 url http://localhost:8085/test【springcloud|Spring Cloud OpenFeign(负载均衡器)】
文章图片
推荐阅读
- Spring|Spring Cloud OpenFeign 详解
- Spring|Spring@Cacheable注解在类内部调用失效的问题
- 缓冲|@Cacheable注解
- SpringBoot|2021-08-06Spring @Cacheable注解的使用
- spring|springAOP 通过注解实现 日志打印
- java|java基础巩固16
- java|抖音开放平台, 企业号私信订阅服务 java(公开的)
- java|盘它!分布式+框架+微服务+性能优化等,一篇拿下架构大全!
- Jdbi3|SpringBoot中Jdbi3使用多数据源详解