以下URL查询数据库并使用requestParam正确返回所有值,如下所示:
http://localhost:8080/app/locateUser/search?firstname=John&lastname=Clay&id=2
@RequestParam(value = "firstname") String firstname,
@RequestParam(value = "lastname") String lastname,
@RequestParam(value = "id" ) int id
现在我想将lastname设为可选(从URL中删除),如下所示:
http://localhost:8080/app/locateUser/search?firstname=John&id=2
或
http://localhost:8080/app/locateUser/search?firstname=John&lastname=&id=2
如何使网址可选?我希望能够在URL字符串中查询没有lastname的数据库。
这就是我所拥有的:
@RequestParam(value = "firstname") String firstname,
@RequestParam(value = "lastname" defaultValue = "lname") String lastname,
@RequestParam(value = "id" ) int id
我也试过
@RequestParam(value = "lastname" required=false) String lastname,
两者似乎都不起作用。我错过了什么?
答案 0 :(得分:0)
在Spring中,默认情况下,请求参数为required=true
。您还应该指定其他请求参数所需的情况。
你应该确定,你是否部署了最新的war文件。此外,您需要在value
参数之后输入错误,然后将其与comma
分开。
答案 1 :(得分:0)
更新
事实证明,defaultValue的值/值必须是Param URL中的最后一个,如下所示。之后一切正常。如果lastname不存在,则URL有效。感谢。
@RequestParam(value = "firstname") String firstname,
@RequestParam(value = "id" ) int id,
@RequestParam(value = "lastname" defaultValue = "lname") String lastname