我使用Spring MVC來構建的RESTful API,如:Spring MVC的基於REST API請求圖案
@RequestMapping(value ="/session={sessionID}&p1={p1}&p2={p2}")
public @ResponseBody
Object getData1(@PathVariable String sessionID,
@PathVariable String p1, @PathVariable String p2) {
return "Get Data";
}
@RequestMapping(value ="/session={sessionID}&p1={p1}&p2={p2}&p3={p3}")
public @ResponseBody
Object getData2(@PathVariable String sessionID,
@PathVariable String p1, @PathVariable String p2, @PathVariable String p3) {
return "Get next Data";
}
但是,當我鍵入URL作爲/會話= 1點& P1 =一個& P2 = B和/ session = 1/& p1 = a & p2 = b & p3 = c,它們總是返回相同的字符串「獲取數據」。在調試時,我發現這兩個請求都轉到了第一個方法,並且p2 =「b & p3 = c」。 這真的讓我困惑:(
需要你的幫助。 感謝。 -C
你的URL看起來像參數列表,但缺少「?」分隔符......看起來很奇怪,爲什麼不使用普通的REST像/ session/{sessionId}這樣的URL,然後通過'@RequestParam()'映射參數?例如。 URL將是'/ session/1?p1 = a&p2 = b'。 – nickdos 2012-03-21 08:58:25
請參閱http://stackoverflow.com/q/5000876/249327例如通過@PathVariable抓取參數 – nickdos 2012-03-21 09:08:26
您是非常正確的。我正在使用@RequestParam,現在對我來說運行良好。謝謝。 – Kyleinincubator 2012-03-21 19:52:40