paramType=body,當對方傳過來的data是集合時的處理方式(以List集合為例)
阿新 • • 發佈:2019-02-07
@ApiImplicitParam(paramType="body", name="data", value = "{\n" + " \"data\": {\n" + " \"idList\": [1,2,3]\n" + " }\n" + "}", required = true, dataType = "string")在使用springboot開發時,遇到了這個問題,當對方傳過來的data為一個集合時,首先用BaseRequest的
getBodyDataObject()方法取出data中的元素:
JSONObject jsonParam = baseRequest這裡List集合中的元素型別為Integer,所以我用Integer來接收,如果List中是多元素型別可以用String。如果你需要的值.getBodyDataObject(JSONObject.class); List<Integer> list=jsonParam.getObject("idList",List.class);
是Long或BigDecimal型別,而對方傳給你的是idList:[1,2,3],這時候就要用for迴圈遍歷idList再轉換集合內元素的型別
如:
List<BigDecimal> idList=new ArrayList<BigDecimal>(); for(int i=0;i<list.size();i++){ idList.add(BigDecimal.valueOf(list.get(i))); }