RestTemplate的GET多参数请求转发

请求方

    @RequestMapping(value = "/movieFindByUser",method = RequestMethod.GET)
    public Object findByUser(@RequestParam(name = "name", required = false) String name, @RequestParam(name = "username", required = false) String username, @RequestParam(name = "age", required = false) Integer age, @RequestParam(name = "balance", required = false) BigDecimal balance) {
        String url = "http://localhost:8888/findByUser";
//        HashMap<String, Object> userRequest = new HashMap<String, Object>();

        MultiValueMap<String, String> userRequest = new LinkedMultiValueMap<>();
        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url);
        URI uri = builder.queryParams(userRequest).build().encode().toUri();
        if (age != null) {
            userRequest.add("age", String.valueOf(age));
        }
        if (balance != null) {
            userRequest.add("balance", String.valueOf(balance));
        }
        if (name != null) {
            userRequest.add("name", name);
        }
        if (username != null) {
            userRequest.add("username", username);
        }
        UserInformation forObject = this.restTemplate.getForObject(uri , UserInformation.class);
        return forObject;
    }

接收方

@RequestMapping(value = "/findByUser",method = RequestMethod.GET)
public List<UserInformation> findById(@RequestParam(name = "name", required = false) String name, @RequestParam(name = "username", required = false) String username, @RequestParam(name = "age", required = false) Integer age, @RequestParam(name = "balance", required = false) BigDecimal balance) {
    List<UserInformation> byUser = userService.findByUser(name, username, age, balance);
    return byUser;
}

 代码用作记录日常的问题,方便自己查看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值