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 userRequest = new HashMap();

        MultiValueMap 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 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 byUser = userService.findByUser(name, username, age, balance);
    return byUser;
}

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

你可能感兴趣的:(servlet,java,dreamweaver)