Browse Source

fix[litemall-admin-api, litemall-admin]: 修复spring boot 2.0升级以后带来的get参数不支持'[]'符号(这个符号用于数组)。

Junling Bu 7 years ago
parent
commit
1890f867f7

+ 4 - 2
litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminOrderController.java

@@ -24,6 +24,7 @@ import org.springframework.transaction.support.DefaultTransactionDefinition;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.HashMap;
@@ -53,7 +54,8 @@ public class AdminOrderController {
 
     @GetMapping("/list")
     public Object list(@LoginAdmin Integer adminId,
-                       Integer userId, String orderSn, @RequestParam(required = false, value = "orderStatusArray[]") List<Short> orderStatusArray,
+                       Integer userId, String orderSn,
+                       @RequestParam(required = false) List<Short> orderStatusArray,
                        @RequestParam(defaultValue = "1") Integer page,
                        @RequestParam(defaultValue = "10") Integer limit,
                        @Sort @RequestParam(defaultValue = "add_time") String sort,
@@ -72,7 +74,7 @@ public class AdminOrderController {
     }
 
     @GetMapping("/detail")
-    public Object detail(@LoginAdmin Integer adminId, Integer id) {
+    public Object detail(@LoginAdmin Integer adminId, @NotNull Integer id) {
         if (adminId == null) {
             return ResponseUtil.unlogin();
         }

+ 1 - 0
litemall-admin/package.json

@@ -24,6 +24,7 @@
     "mockjs": "1.0.1-beta3",
     "normalize.css": "7.0.0",
     "nprogress": "0.2.0",
+    "qs": "^6.5.2",
     "screenfull": "3.3.2",
     "v-charts": "^1.16.19",
     "vue": "2.5.10",

+ 5 - 1
litemall-admin/src/api/order.js

@@ -1,10 +1,14 @@
 import request from '@/utils/request'
+import Qs from 'qs'
 
 export function listOrder(query) {
   return request({
     url: '/order/list',
     method: 'get',
-    params: query
+    params: query,
+    paramsSerializer: function(params) {
+      return Qs.stringify(params, { arrayFormat: 'repeat' })
+    }
   })
 }