我希望能够将枚举值的列表作为 HTTP 查询参数传递。服务器端的入口点如下所示:
@GET
@Path("/getMyResult")
public MyResultType getMyResult(@QueryParam("me") final List<MyEnum> myEnums)
这是不能修改的。考虑到
MyEnum
包含了值MyValue1
,MyValue2
,MyValue3
和MyValue4
。(MyResultType
对于这个问题不相关。)只传递一个值,如下所示,可以正常工作(对我来说有点奇怪):http://localhost/getMyResult?me=MyValue1
然而,通过这种方式传递元素列表:
http://localhost/getMyResult?me=[MyValue1,MyValue3,MyValue4]
或者这样:
http://localhost/getMyResult?me=MyValue1,MyValue3,MyValue4
或者这种方式:
http://localhost/getMyResult?me=["MyValue1","MyValue3","MyValue4"]
无法工作,它会抛出异常,类似于以下内容(对第一个选项的错误消息):
RESTEASY001720: Unable to extract parameter from http request: javax.ws.rs.QueryParam(\"me\") [...]
No enum constant com.mycompany.myapp.MyEnum.[MyValue1,MyValue3,MyValue4]
请问如何将MyEnum
元素的列表作为HTTP GET查询参数传递?谢谢!
http://localhost/getMyResult?me=MyValue1&me=MyValue2&me=MyValue3
吗? - khelwood