RequestParam 设置为单个参数

deg*_*ath 5 java parameters spring

我用参数创建了端点:

@GetMapping("/me")
public MeDto getInfo(@RequestParam("param") Set<Integer> params) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

一切正常,但我需要单独发送 ID,例如

/me?param=1&param=2
Run Code Online (Sandbox Code Playgroud)

有没有办法使它成为:

/me?param=1,2...N
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢。

小智 6

你可以做这样的事情

@RequestMapping(method=RequestMethod.GET, value="/me")
    public ResponseEntity<?> getValues(@RequestParam String... param){
        Set<String> set= new TreeSet<String>(Arrays.asList(param));
        return new ResponseEntity<Set>(set, HttpStatus.OK);
    }
Run Code Online (Sandbox Code Playgroud)

因此,如果您点击 --> localhost:8786/me?param=hello,foo,bar,animals ,您将得到以下响应

[ "动物", "bar", "foo", "你好" ]