即使在客户端传递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
...
}
答案 0 :(得分:2)
似乎问题(/
)之前的斜杠(?
)是问题所在。
在客户端删除斜杠后,一切正常。
这有效:
$http.post("http://localhost/getServers?light=true")
但是,从网页上阅读,问号前面的斜线是合法的语法:(