Шаблон запроса Spring mvc RESTFul API - PullRequest
0 голосов
/ 21 марта 2012

Я использую Spring MVC для создания API RESTful, таких как:

@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

1 Ответ

0 голосов
/ 21 марта 2012

Вы можете обойти неподдерживаемую «перегрузку», используя различные шаблоны, такие как

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

и

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