RestTemplate的GET多参数请求转发

news/2024/7/7 22:36:13

请求方

    @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;
}

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


http://lihuaxi.xjx100.cn/news/242809.html

相关文章

华为云大数据存储的冗余方式是三副本_大数据入门:HDFS数据副本存放策略

大数据处理当中&#xff0c;数据储存始终是一个重要的环节&#xff0c;从现阶段的市场现状来说&#xff0c;以Hadoop为首的大数据技术框架&#xff0c;仍然占据主流地位&#xff0c;而Hadoop的HDFS&#xff0c;在数据存储方面&#xff0c;仍然得到重用。今天的大数据入门分享&a…

琐碎的知识库

禁止当前 Activity截图 <pre> Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); setContentView(R.layout.activity_main); } </pre> 获取当前…

k均值聚类算法考试例题_一文读懂K-means聚类算法

1、引言什么是聚类&#xff1f;我们通常说&#xff0c;机器学习任务可以分为两类&#xff0c;一类是监督学习&#xff0c;一类是无监督学习。监督学习&#xff1a;训练集有明确标签&#xff0c;监督学习就是寻找问题&#xff08;又称输入、特征、自变量&#xff09;与标签&…

JAVA工资高吗

JAVA工资高吗?很多人都是非常关注这个问题的&#xff0c;近几年&#xff0c;java技术在互联网行业有了自己的一席之地&#xff0c;越来越多的人都投身到java技术行业&#xff0c;下面我们来看看详细的介绍。 JAVA工资高吗? 近年来,在美国、加拿大、澳大利亚、新加坡等发达国家…

http

http请求由3个部分组成 1.请求行&#xff1a; 请求行包括 方法符号&#xff0c;请求的URI和协议的版本    请求 URL: http://www.cnblogs.com/ 请求方法: GET 版本HTTP/1.1 2.请求头 Host: www.cnblogs.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x…

VS Code - Debugger for Chrome调试JavaScript的两种方式

VS Code - Debugger for Chrome调试JavaScript的两种方式 最近由于出差的缘故&#xff0c;博客写的不是很多&#xff0c;一直想写一篇VS Code - Debugger for Chrome相关的文章&#xff0c;没想到一直拖到了今天。VS Code 开源以后确实在社区得到了很多人的支持&#xff0c;当中…

SQLDataSet中执行DDL语句

在SQLDataSet中执行我们输入的DDL语句&#xff0c;并观察执行结果。 这里为了省输入的时间&#xff0c;从先输好的记事本中复制的SQL语句。效果图: ************************************************************************************** 具体操作: **********************…

邀请参加活动的邀请函_圣诞节活动策划邀请函在线制作

2020年就要过去了&#xff0c;许多人说这一年很难&#xff0c;难上加南。莎士比亚说凡是过去&#xff0c;皆为序章。无论好的还是坏的终究会成为过往&#xff0c;向前看吧。圣诞节快要到来&#xff0c;商场开始布置精致的橱窗&#xff0c;电商巨头也在忙着做促销&#xff0c;幼…