【发布时间】:2019-03-04 14:17:51
【问题描述】:
我有一个参数映射,我正在尝试通过将请求参数附加到 url 来构建完整的 url。
以下代码是我到目前为止从参数映射中提取键值所做的工作。
Map<String, String[]> parameters = request.getParameterMap();
String params = parameters.entrySet()
.stream()
.map(e -> e.getKey() + "=" + String.join(",", e.getValue()))
.collect(Collectors.joining("&"));
String url = requestUrl + "?" + params;
如果我只将值传递给year 参数,我的网址当前会打印出类似于以下内容的内容:
/student/query?Id=&grade=&year=2018
我想打印如下内容:
/student/query?year=2018
如果我不传递某个参数的值,我不希望它被打印出来。
我该如何解决这个问题?
【问题讨论】:
-
你应该encode每个键和值。
标签: java java-stream