2015-09-28 41 views
0

以下網址查詢數據庫,並正確使用requestParam如下返回的所有值:如何爲URL設置RequestMapping默認值/必需值?

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 

現在我想讓姓氏可選(從URL中移除)在這樣的:

http://localhost:8080/app/locateUser/search?firstname=John&id=2

http://localhost:8080/app/locateUser/search?firstname=John&lastname=&id=2

如何讓網址 可選的?我希望能夠在URL字符串中查詢沒有姓氏的數據庫。

這是我有:

@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

應該用'=需要FALSE'工作,告訴我們您的完整方法簽名,你有錯誤,它可能有助於理解你的問題 –

+0

什麼是不工作...當需要'= FALSE '然後你得到一個空字符串不爲空,你當然必須做更多的事情,以忽略查詢中的空參數... –

+0

這可能有助於http://stackoverflow.com/questions/17647214/form-值爲空null-in-in-in-in- –

回答

0

春季請求參數默認爲required=true。您還應該提供其他請求參數所需的情況來指定。

你應該確定你是否部署了你的最新戰爭文件。也似乎你有一個錯誤value參數你需要將它們與comma分開。

0

更新

原來的值/默認值與值必須是最後在參數URL這樣。之後一切正常。如果姓氏不存在,則URL起作用。謝謝。

@RequestParam(value = "firstname") String firstname, 
@RequestParam(value = "id") int id, 
@RequestParam(value = "lastname" defaultValue = "lname") String lastname