【发布时间】:2010-09-06 17:28:50
【问题描述】:
我读到HTTP在请求中传递数组的方式是多次设置一个参数:
1) GET /users?orderBy=last_name&orderBy=first_name
但是,我也看到了逗号分隔的参数(我觉得这更“干净”):
2) GET /users?orderBy=last_name,first_name
我想实现多排序(按姓氏排序用户,然后重复的姓氏按名字排序)。代码方面,这很容易(谷歌的 Guava 库来拯救),但我应该如何公开它呢?第一种方法甚至保留字段的顺序(按姓氏排序,然后按名字排序)?
如果在请求中多次设置,Spring会神奇地将参数转换为String[]数组:
... @RequestParam("orderBy") String[] orderBy ... becomes ["last_name","first_name"]
这让我相信第一种方式被认为是最佳实践,尽管我喜欢第二种方式......
【问题讨论】:
-
这取决于您从谁那里获得了@RequestParam。不过,它可能在 JAX-RS 标准中指定。
标签: parameters jax-rs