Spring mvc RESTFul API请求模式

时间:2012-03-20 22:13:36

标签: java api spring-mvc restful-url

我正在使用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";
}

但是,当我输入网址为/ session = 1& p1 = a& p2 = b和/ session = 1 /& p1 = a& p2 = b& p3 = c时,它们总是返回相同的字符串“获取数据“。在调试时,我发现两个请求都采用相同的第一种方法,而p2 =“b& p3 = c”。 这真让我困惑:(

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

1 个答案:

答案 0 :(得分:0)

您可以使用不同的模式(如

)解决不支持的“重载”问题
"/session={sessionID}/data1/&p1={p1}&p2={p2}"

"/session={sessionID}/data2&p1={p1}&p2={p2}}&p3={p3}"