欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

feign远程调用

时间:2023-05-01

2个服务(provider,consumer),一个提供出去的接口(user)

1,provider

@RestController
public class UserController implements UserAPI {

    @Value("${server.port}")
    private int port;

    @Override
    public String getHi() {
        
        return "provider" + port;
    }

    @Override
    public String getById() {
        return  "provider id" + port;
    }

    @PostMapping("/getPerson")
    public Person getPerson(@RequestBody Person person) {

        System.out.println("provider-person:" + person.toString());
        person.setAge(122);
        return person;
    }

}

2,user接口

@RequestMapping("/User")
public interface UserAPI {

    @GetMapping("/getHi")
    public String getHi();

    @GetMapping("/getById")
    public String getById();
}

3,consumer

@FeignClient("provider")
public interface UserController extends UserAPI{
    
    @PostMapping("/getPerson")
    public Person getPerson(@RequestBody Person person); 

}

4,consumer的control通过RPC调用provider的方法:

@RestController
public class UserClient {

    @Autowired
    private UserController userController;

    @GetMapping("/getUserHi")
    private String getHi() {

        return userController.getHi();

    }

    @GetMapping("/getUser")
    private String getUser(String name) {

        System.out.println("name:" + name);

        Person person = new Person(1, name, 22);

        return userController.getPerson(person).toString();
    }

}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。