使用两个QueryParameter时,Java Rest不起作用
我建立了一种方法,如下所示:使用两个QueryParameter时,Java Rest不起作用,java,rest,jax-rs,Java,Rest,Jax Rs,我建立了一种方法,如下所示: @GET @Produces({MediaType.APPLICATION_JSON}) @Path("/{activityLocator}/item/{itemUid}") @Override public Obj getItemWidgetParams( @PathParam("activityLocator") String activityLocator, @PathParam("itemUid")
@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) 主机名/service/stepActivity/activityLocatorID/item/1
2) 主机名/service/stepActivity/activityLocatorID/item/1?模式=5
但是,当我添加第二个查询参数时,该函数就不再被调用,我得到一条错误消息作为响应:
主机名/服务/stepActivity/SerializedSession:activitylocatorID/item/1?模式=5&options=blah
知道我做错了什么吗 尝试将
ItemWidgetInitOptions选项
更改为字符串选项
。
如果它是可选的,您可能需要给它一个默认值。正如km1所说,您可能需要更改参数选项
@QueryParam("options")
ItemWidgetInitOptions options
根据:
通常,方法参数的Java类型可能:
在不知道错误的情况下,首先猜测框架需要您告诉它如何将字符串转换为ItemWidgetInitOptions