@QueryParam boolean得到假,即使' true'通过了

时间:2015-10-21 11:19:33

标签: java rest http javax.ws.rs queryparam

即使在客户端传递false,调用带有布尔参数的REST也会收到值true

客户端:

$http.post("http://localhost/getServers/?light=true")

服务器:

@Path("/getServers")
@POST
@Produces({MediaType.APPLICATION_JSON})
public Response getServers(
  @Context HttpServletRequest request,
  @DefaultValue("true") @QueryParam("light") boolean light)
{
  // light is false even though true was passed
  ...
}

1 个答案:

答案 0 :(得分:2)

似乎问题(/)之前的斜杠(?)是问题所在。

在客户端删除斜杠后,一切正常。

这有效:

$http.post("http://localhost/getServers?light=true")

但是,从网页上阅读,问号前面的斜线是合法的语法:(