我正在嘗試編寫自己的應用程序。它應該提供帶有參數的添加食品,我已經完成了,進一步的目的是總結添加產品的所有屬性,與每日余額進行比較等。我對將產品與一頓飯聯系起來的概念有疑問。我想知道是否有一些漂亮的替代函數可以使用特定數量的(可選)參數,女巫是功能的一定限制。這是一個臨時解決方案,但我不喜歡它,所以我暫時不開發它。有一個更好的方法嗎?@RequestMapping("/add")public Integer adding(@RequestParam("i") Long index, @RequestParam("i2") Long index2, @RequestParam(value="i3", required = false, defaultValue = "0") Long index3, @RequestParam(value="i4", required = false, defaultValue = "0") Long index4, @RequestParam(value="i5", required = false, defaultValue = "0") Long index5, @RequestParam(value="i6", required = false, defaultValue = "0") Long index6){ Integer sum = null; Integer i1 = productManager.findById(index).get().getCalories(); Products second = productManager.findById(index2).get(); Integer i2 = second.getCalories(); Integer i3,a,b,c; if (index3==0){ i3=0; } else { Products thrid = productManager.findById(index3).get(); i3 = thrid.getCalories(); } sum= i1+i2+i3; return sum;}
1 回答

largeQ
TA貢獻2039條經驗 獲得超8個贊
您可以使用列表作為查詢參數。
@RequestMapping("/add") public Integer adding(@RequestParam("index") List<Long> indicies){...}
URL 如下:http://yourhost:port/add?index=1&index=2&index=3
I suggest to use better name to method and url param then add
。也許sumCalories
或類似的東西。
如果你使用 RDBMS 來保存你的產品(你能給我更多的細節嗎?),你可以寫一個查詢來求和所需的值:
@Query("select sum(p.calorie) from Products p where p.id in :ids") Long sumCaloriesByIds(@Param("ids") List<Long> ids);
添加回答
舉報
0/150
提交
取消