SpringCloud Feign使用详解
添加依赖:
<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