SpringCloud Feign使用详解

时间:2021-09-20 11:35:21

添加依赖:

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

创建启动类:

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;

@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
public class UserServiceApplication {

public static void main(String[] args) {
new SpringApplicationBuilder(UserServiceApplication.class).web(true).run(args);

}
}

写一个feign client:

@FeignClient(name = "这里写服务名称")
public interface UserServiceAPI {

@RequestMapping(value = "/user/getUserInfo", method = RequestMethod.GET)
public BaseResponse<UserInfo> getUserInfo(@RequestParam("userId")Integer userId);

测试:

@RestController

public class UserServiceAPITestController {

@Autowired
UserServiceAPI userServiceAPI;

@RequestMapping(value = "/user/getUserInfo", method = RequestMethod.GET)
public BaseResponse<KylinUserInfo> getUserInfoByUserId(Integer userId) {
return userServiceAPI.getUserInfo(userId);
}
}

浏览器访问:localhost:8080/user/getUserInfo