OpenFeign 作用是可远程调用其他服务
在父 pom 中引入
spring cloud
依赖<dependencyManagement>
<dependencies>
<!--spring cloud 依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在公共模块的
pom.xml
中引入spring cloud
的OpenFeign
依赖<!--使模块可通过HTTP进行远程调用其他服务-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
3.添加 @EnableFeignClients
注释
@SpringBootApplication
@EnableFeignClients
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
4.创建 client
目录,里面放需要调用的服务的接口
// VodClient.java
package com.catmmao.edu.client;
import com.catmmao.utils.data.response.CommonResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
* 阿里视频点播服务
*
* @author catmmao
* @since 2021/9/4 下午5:42
*/
@FeignClient("edu-vod")
public interface VodClient {
/**
* 删除视频
*
* @param id 阿里云生成的视频ID
*/
@DeleteMapping(value = "/vod/{id}")
ResponseEntity<CommonResponse<?>> deleteVideo(@PathVariable String id);
}