tôi đọc rằng cách HTTP để vượt qua một mảng trong một yêu cầu là để thiết lập một tham số nhiều lần:JAX-RS/Rest: Đặt tham số nhiều lần hoặc sử dụng thông số phân cách bằng dấu phẩy duy nhất?
1) GET /users?orderBy=last_name&orderBy=first_name
Tuy nhiên, tôi cũng đã nhìn thấy các thông số dấu phẩy phân cách (và tôi cảm thấy đây là "sạch hơn "):
2) GET /users?orderBy=last_name,first_name
Tôi muốn triển khai đa phân loại (sắp xếp người dùng theo last_name, sau đó trùng lặp last_names được sắp xếp theo first_name). Code-khôn ngoan, điều này là dễ dàng (thư viện của Google để giải cứu), nhưng làm thế nào tôi nên tiếp xúc với điều này? Liệu cách đầu tiên thậm chí còn giữ trật tự của các trường (sắp xếp theo last_name, sau đó bởi first_name)?
mùa xuân kỳ diệu sẽ chuyển đổi một tham số vào một [] mảng String, nếu nó được đặt nhiều lần trong các yêu cầu:
... @RequestParam("orderBy") String[] orderBy ... becomes ["last_name","first_name"]
Điều này dẫn tôi để tin rằng cách đầu tiên được coi là thực hành tốt nhất, mặc dù tôi giống như cách thứ hai ...
Điều này tùy thuộc vào người bạn nhận được @RequestParam của bạn từ. Tuy nhiên, nó có thể được chỉ định trong tiêu chuẩn JAX-RS. – bmargulies