初識springcloud之feign的簡單http調用

引入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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章