1. 程式人生 > >paramType=body,當對方傳過來的data是集合時的處理方式(以List集合為例)

paramType=body,當對方傳過來的data是集合時的處理方式(以List集合為例)

@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
.getBodyDataObject(JSONObject.class); List<Integer> list=jsonParam.getObject("idList",List.class);
這裡List集合中的元素型別為Integer,所以我用Integer來接收,如果List中是多元素型別可以用String。如果你需要的值
是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))); }