引入pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
定义接口 加上@FeignClient
调用接口为 http://test-url/user/login
如http://127.0.0.1:8080/user/login
@FeignClient(name = "local", url = "${test-url}")
@RequestMapping(value = "/user", produces = {"application/json;charset=UTF-8"})
public interface ResumeClient {
@PostMapping(value = "/login")
String login(@RequestBody LoginVo loginVo);
}
配置使用
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class LoginVo {
private String account;
private String password;
}
定义一个Controller 注入接口调用
@RestController
@RequestMapping("/test")
public class TestController {
@Autowired
private ResumeClient resumeClient;
@GetMapping("/login")
private void login(){
String login = resumeClient.login(LoginVo.builder().account("admin").password("123").build());
System.out.println(login);
}
}
加上@EnableFeignClients注解
@SpringBootApplication
@EnableFeignClients
public class TestFeignApplication {
public static void main(String[] args) {
SpringApplication.run(TestFeignApplication.class, args);
}
}
此时即可通过当前项目的/test/login 调用另一项目的/user/login