2
我有一個看起來一個Web服務,如:多個GET方法匹配:選擇最具體的
@Path("/ws")
public class Ws {
@GET public Record getOne(@QueryParam("id") Integer id) { return record(id); }
@GET public List<Record> getAll() { return allRecords(); }
}
的想法是,我可以調用:
http://ws:8080/ws?id=1
得到一個特定的記錄http://ws:8080/ws
獲取所有可用記錄
但是,當我使用第二個URL,第一個@GET
方法被稱爲空id
。
有沒有辦法在不使用不同路徑的情況下實現我想要的功能?
我認爲這是可以分別使用Spring的@RequestMapping(params={"id"})
和@RequestMapping
標註爲第一和第二種方法,但我不能在該項目中使用Spring來實現。
爲什麼不乾脆在你的代碼中實現一個邏輯來檢查param是否爲null,然後返回所有的? – user432 2014-11-08 11:21:07
@ user432這兩種方法沒有相同的返回類型 - 我可以返回一個'Object'我想它看起來有點凌亂...... – assylias 2014-11-08 11:21:40
你回來了什麼?你能否返回一份清單和一份清單? – user432 2014-11-08 11:22:34