feign远程调用

本文展示了微服务架构中服务提供者(Provider)与消费者(Consumer)的交互,Provider通过@RestController注解提供REST接口,包括获取问候和按ID获取信息。Consumer作为Feign客户端,继承了UserAPI接口并实现远程调用。同时,Consumer的控制层通过@Autowired注入UserController,调用Provider的方法获取数据。
摘要由CSDN通过智能技术生成

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();
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值