REST与Spring Controller问题

时间:2013-08-25 15:23:14

标签: spring rest spring-mvc

我的休息时间如下所示

  1. /leagues - 列出目前为止组织的所有联赛
  2. /leagues/{leagueName} - 有关leagueName
  3. 的详细信息
  4. /leagues/{leagueName}/levels/ - 列出给定联赛的所有级别(例如季后赛,QF,SF等)
  5. 控制器

    1

    @RequestMapping (value = "/leagues", method = RequestMethod.GET)
    public String list(Model model)
    {
        return "/leagues/list";
    }
    

    2

    @RequestMapping (value = "/leagues/{leagueName}", method = RequestMethod.GET)
    public String leagues(@PathVariable String leagueName, Model model)
    {
        return "/leagues/league";
    }
    

    3

    @RequestMapping (value = "/leagues/{leagueName}/levels", method = RequestMethod.GET)
    public String levels(@PathVariable ("leagueName") String leagueName, Model model)
    {       
        return "/leagues/levels/list";
    }
    

    我遇到的问题是当我尝试(2)/leagues/{leagueName}时,正在调用(2)/leagues/levels/的控制器方法。如何解决此问题需要帮助。

2 个答案:

答案 0 :(得分:0)

您忘了将leguname添加到网址:改为使用/leagues/SuperHero/levels//leagues/levels/


如果你想过滤掉/ leagues / levels /`,那么你可以尝试添加一个额外的处理程序方法:

@RequestMapping(value="/leagues/levels/")
例如,返回任何联赛的所有级别

答案 1 :(得分:0)

行为完全正常...... URL联盟/级别与第二种方法的RequestMapping相匹配......

如果你想调用第三种方法,你需要将URL作为联盟/ [某些字符串] /级别