我有一個Spring MVC的控制器具有以下方法列表:Spring MVC的 - 如何獲得的@RequestMethod方法參數(可能由@RequestParam屬性)
@RequestMapping(value = {"/filter"}, method = RequestMethod.GET)
@ResponseBody
public List<MetricType> getMetricTypes(
@RequestParam(value = "subject", required = false) Long subjectId,
@RequestParam(value = "area", required = false) Long areaId,
@RequestParam(value = "onlyImmediateChildren", required = false) Boolean onlyImmediateChildren,
@RequestParam(value = "componentGroup", required = false) Long componentGroupId
) throws Exception
{
//Some code
}
是否有可能得到的參數列表當前方法編程(例如通過@RequestParam註釋)? 解決方案應該在沒有調試符號的情況下工作。 如果需要,方法名稱可以被硬編碼。
我想檢查查詢字符串是否包含無效參數(例如,由於錯字)。 我將比較來自請求的查詢參數名稱與方法簽名中的查詢參數名稱(如果可能的話)。
修訂
溶液應爲可選的(所需=假)參數以及工作。
非常感謝
馬克西姆
你爲什麼要接受拼寫錯誤的參數?在所有參數最有可能被硬編碼到正在與您的Web應用程序進行通信的網站中。只鍵入一次,輸入正確! – Geerten 2012-04-03 13:05:06
我想拒絕輸入的參數。如果在參數名稱中存在拼寫錯誤,我想顯示錯誤消息。爲了做到這一點,我想比較用戶通過方法簽名傳遞的參數 – 2012-04-03 13:34:33
RequestMapping已經會拒絕輸入錯誤的參數。那麼比較的好處是什麼? – Geerten 2012-04-03 13:37:03