Spring Cloud Feign Get请求传对象参数

前置说明,有A、B两个服务,A服务调用B服务,B服务接口是Get类型,接受参数对象

feign get请求传对象参数分两种情况

版本在2.1之前,则A服务使用Map map替代对象传给B服务

//A-service
@ApiOperation(value = "查询xx", httpMethod = "GET")
@GetMapping("/maps")
public ReturnEntity getOrgPositionInMap(OrganizationMapQO organizationMapQO) {
    HashMap map = new HashMap(BeanMap.create(organizationMapQO));
    ReturnEntity returnEntity = sysLoginFeignClient.getOrgPositionInMap(map);
    return returnEntity;
}

//feign-service
@ResponseBody
@GetMapping(value = "/organizations/maps", consumes = MediaType.APPLICATION_PROBLEM_JSON_UTF8_VALUE, produces = "application/json")
ReturnEntity getOrgPositionInMap(@RequestParam Map map);

//B-service
@ApiOperation(value = "查询xx",  httpMethod = "GET")
@GetMapping("/maps")
public List<OrganizationMapVO> getOrgPositionInMap(OrganizationMapQO organizationMapQO) {
    return sysDeptService.getOrgPositionInMap(organizationMapQO);
}

版本在2.1之后,在feign-service中使用@SpringQueryMap

//feign-service
@ResponseBody
@GetMapping(value = "/organizations/maps", consumes = MediaType.APPLICATION_PROBLEM_JSON_UTF8_VALUE, produces = "application/json")
ReturnEntity getOrgPositionInMap(@SpringQueryMap OrganizationMapQO organizationMapQO);
上一篇 Sharding-Sphere:Sharding-Proxy分库分表
下一篇 Spring Cloud Feign 高级应用
目录
文章列表
1 Flutter禁用滚动事件
Flutter禁用滚动事件
2
Python线程池实现
Python线程池实现
3
Atlas加载Facebook登录的远程Bundle设计
Atlas加载Facebook登录的远程Bundle设计
4
微信支付服务商-小程序支付-商户传入的appid参数不正确,请联系商户处理
微信支付服务商-小程序支付-商户传入的appid参数不正确,请联系商户处理
5
Android增量更新 - 客户端使用bsdiff差分包与原包合并
Android增量更新 - 客户端使用bsdiff差分包与原包合并
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。