2013-08-25 96 views
0

我有我的休息的URI如下REST與Spring控制器問題

  1. /leagues - 列出所有聯賽迄今爲止舉辦
  2. /leagues/{leagueName} - 的細節給leagueName
  3. /leagues/{leagueName}/levels/ - 列出所有級別(例如季後賽,QF,SF等)

控制器

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/。如何解決這個問題需要幫助。

+0

可以共享控制器如何聲明 - 它的語法和請求映射 –

+0

@ ArunPJohny添加映射 –

+2

看看你的映射。沒有別的東西可能會將這條路徑映射到。您是否想要訪問「/ leagues/myleague/levels /'也許? – Bart

回答

0

你忘了給leguname添加到URL:使用/leagues/SuperHero/levels/代替(/leagues/levels/


如果您想篩選出/聯盟/水平/`,那麼你可以嘗試增加一個額外的處理方法:

@RequestMapping(value="/leagues/levels/") 

例如,返回任何聯賽

+0

如果添加這個新的映射,spring怎麼區分'/聯賽/ SuperHero'和'/聯賽/級別'? –

+0

春天他們之間分開了嗎? – Ralph

0

各級行爲是完全正常的...網址聯賽/水平塞康匹配d方法的RequestMapping ...

如果你想調用的第三種方法u需要的URL作爲聯盟/ [一些字符串] /水平