[英]How to provide a list of objects for a REST query in spring-mvc?
我想在spring-mvc
中創建一個 REST-GET 控制器,它接受一個對象列表,例如 10 個 id,如下所示:
@RestController
public class MyRest {
@RequestMapping(method = RequestMethod.GET)
public Object test(@RequestParam value="id" required=false) List<Integer> ids) {
Sysout(ids);
}
}
無論如何,當我調用它時,我必須多次重復 id 參數:
localhost:8080/app?id=1&id=2&id=3&...
可以將參數更改為某種列表嗎? 例如
app?id=1,2,3,4,5
如果是,這是可取的嗎? 從客戶的角度來看,哪個更好?
最好使用帶有JSON或XML的POST消息作為請求體。 因為你永遠不知道會傳遞多少個id。
@RestController
public class MyRest {
@RequestMapping(method = RequestMethod.POST)
public Object test(@RequestBody IDRequest request) {
Sysout(ids);
}
public static final class IDRequest {
List<Integer> ids;
<!-- getter/setters--->
}
}
請求將是某種類似的JSON或XML
{"ids":[1,2,3,4,5,6,7,8,9]}
您可以提供休息服務的對象列表作為請求參數。這是示例
@RequestMapping(value = "/animals, method = RequestMethod.GET)
public void test(@RequestParam(value="animalsNames[]") String[] animalsNames) {
Sysout(animalsNames);
}
你的請求看起來像
http://localhost:8080/appname/animals?animalsNames[]=dog,horse
HTTP Method type : GET
控制器 :
public @ResponseBody String getInfos(HttpServletRequest request,
@RequestParam @DateTimeFormat( @RequestParam List<Long> ids) {...}
要求 :
http://localhost:8080/test/api?ids=1,2,3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.