我设置了如下方法:
@GET
@Produces({MediaType.APPLICATION_JSON})
@Path("/{activityLocator}/item/{itemUid}")
@Override
public Obj getItemWidgetParams(
@PathParam("activityLocator")
String activityLocator,
@PathParam("itemUid")
String itemUid,
@QueryParam("options")
ItemWidgetInitOptions options,
@QueryParam("mode")
String mode) throws Exception
{
return something;
}
问题是,当我不使用查询参数或仅使用一个查询参数(以下两个 uri 中的任何一个)时,会调用此函数:
1) 主机名/服务/stepActivity/activityLocatorID/item/1
2) 主机名/服务/stepActivity/activityLocatorID/item/1?mode=5
但是一旦我添加第二个查询参数,该函数就不再被调用,并且我收到一条错误消息作为响应:
主机名/服务/stepActivity/SerializedSession:activitylocatorID/item/1?mode=5&options=blah
知道我做错了什么吗?!
最佳答案
尝试将ItemWidgetInitOptions选项
更改为字符串选项
。
如果它是可选的,您可能想给它一个默认值。
关于使用两个查询参数时 Java Rest 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323029/