java-training-camp icon indicating copy to clipboard operation
java-training-camp copied to clipboard

作业一:Spring Cloud Open Feign 包装 POJO API 模型

Open mercyblitz opened this issue 2 years ago • 0 comments

要求

基于 Spring Cloud Open Feign 隐形包装 POJO 成为 API 模型,实现接口编程友好性目的。 最简化 @FeignClient 初始化

知识回顾

Java 动态代理

@FeignClient 工作原理

现状分析

UserRegistrationService 接口对应服务端 Endpoint:http://127.0.0.1:8080/user/register

@FeignClient("${user-registration.service.name}")
@RequestMapping("/user")
public interface UserRegistrationService {

    @PostMapping(value = "/register",produces = "application/json;v=3.0")
    Boolean registerUser(@RequestBody @Validated @Valid User user) throws UserException;

}

@FeignClient 指向的应用名称:${user-registration.service.name}

激活 FeignClient

@EnableFeignClients

提示

  • 通过扩展 Encoder 和 Decoder 控制 POJO 的解析
  • 通过调用请求头控制新老版本的切换

提交

可基于 https://github.com/mercyblitz/java-training-camp 项目二次开发,请在下方评论中提交自己的 GitHub代码仓库。

mercyblitz avatar Nov 24 '22 03:11 mercyblitz