0

我正在使用 Spring MVC 构建 RESTful 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 键入为 /session=1&p1=a&p2=b 和 /session=1/&p1=a&p2=b&p3=c 时,它们总是返回相同的字符串“获取数据”。在调试时,我发现两个请求都使用了相同的第一种方法和 p2="b&p3=c"。这真的让我很困惑:(

需要你的帮助。谢谢。-C

4

1 回答 1

0

您可以通过使用不同的模式来解决不受支持的“重载”,例如

"/session={sessionID}/data1/&p1={p1}&p2={p2}"

"/session={sessionID}/data2&p1={p1}&p2={p2}}&p3={p3}"
于 2012-03-20T22:32:25.177 回答