一.首先在pom.xml中引入相关的jar包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
二.写一个feign的service
例如:有两个微服务,一个叫base,另一个叫system,现在system想要调用base中的一个接口
创建一个名为feignService的接口
头部加上注解@FeignClient(name=“base”),然后在接口中添加@RequestMapping注解,注解中的value等于调用base接口的接口路径,方法为post方式
package clouddo.user.feign;
import java.util.List;
import org.jzd.base.entity.PageEntity;
import org.jzd.common.utils.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
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.ResponseBody;
@FeignClient(name="base")
public interface feignService {
@RequestMapping(value = "/pageUtils/page",method = RequestMethod.POST,consumes = "application/json")
Result page(@RequestBody PageEntity pageEntity);
}
其中Result page中的@RequestBody是返回类型,是个实体
一般还是用@RequestParam等
三.调用方法
调用的时候就和普通的调用一样
@PostMapping("/page")
@ResponseBody
public Result page(PageEntity pageEntity) {
return feignService.page(pageEntity);
}