我来自.net世界,如果您在查询字符串中有一个诸如Dictionary<string,List<string>> foo
之类的参数,则可以执行诸如foo[one][0]=OneZero,foo[two][0]=TwoZero,foo[two][1]=TwoOne
等之类的事情。我希望在Java Spring(springboot)中也是如此。
我猜我正在寻找的数据类型将是HashMap<String,HashSet<String>>
或Map<String,Set<String>>
。但是,我找不到适合该问题的解决方案。我确实设法使List<String> foo
与foo=one&foo=two
或foo=one,two
一起工作,但似乎不支持使用Map
作为参数。我的理解正确吗?是否有使用“地图/字典”(更不用说嵌套的)作为请求参数的现成解决方案了?
代码
@RestController
public class MyController {
@GetMapping(value = "/search")
public PLPResponse getStuff(@RequestParam Optional<String> name, @RequestParam Optional<Map<String,Set<String>> foo, HttpServletRequest request) {
//magic happens here
}
}