在Spring启动控制器中接收Collection / Iterable作为参数

时间:2016-09-04 07:24:28

标签: java spring spring-mvc spring-boot

我是Spring新手,我想编写一个控制器,它将Collection / Iterable作为参数。像这样:

@RequestMapping(value = "friends", method = RequestMethod.POST)
public @ResponseBody Callable<Iterable<User>> 
getFriendsOfUser(@RequestParam(required = true, name = "mobiles") Iterable<String> mobs) {
    // return callable
}

没有编译错误,但我无法使其正常工作。你能说这将如何运作?如何建立这个api的请求?

2 个答案:

答案 0 :(得分:2)

public String getFriendsOfUser(@RequestParam(required = true, value = "mobiles")  String[] mobiless){
....
}

,您的手机应

mobiles=myValue1&mobiles=myValue2&mobiles=myValue3

mobiles=myvalue1,myValue2,myValue3

如果您有任何疑问,请发布您的前端代码和Ajax调用。

答案 1 :(得分:1)

您已映射POST方法,因此您可能需要@RequestBody而不是@RequestParam

顾名思义,

@RequestParam是请求参数:[host]/endpoint?param=foo&secondParam=bar

,而

@RequestBody用于JSON / XML或作为请求正文发送的任何其他类型内容。