2013-04-21 108 views
1

我發送以下請求映射:Spring3:未找到HTTP請求

GET http://127.0.0.1:8080/ajax/rest/teamService/list HTTP/1.1 
Host: 127.0.0.1:8080 
Connection: keep-alive 
Accept: application/json, text/javascript, */*; q=0.01 
X-Requested-With: XMLHttpRequest 
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 
Referer: http://127.0.0.1:8080/do/controlpanel 
Accept-Encoding: gzip,deflate,sdch 
Accept-Language: en-US,en;q=0.8 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Cookie: JSESSIONID=MMezuISPiL9aOEvxmoOKbUWI.undefined 

我的春節服務XML映射/ AJAX到控制器。這個映射應該回應:

@RequestMapping(value = "/rest/*") 
public @ResponseBody JSONResponse team(@ModelAttribute("cpSession") ControlPanelSession sess, Model model, HttpServletRequest request) { 

... 

} 

在同一個控制器的其他映射answer/ajax調用就好了。例如:

@RequestMapping(value = "/isFNameOK", method = RequestMethod.GET) 
@ResponseBody 
public String isFNameOK(@ModelAttribute("cpSession") ControlPanelSession sess, Model model, HttpServletRequest request, @RequestParam("fName") String fName) { 

... 

} 

但很顯然不是,因爲我越來越:

No mapping found for HTTP request with URI [/ajax/rest/teamService/list] 

任何想法?

+0

你能發佈任何其他正在工作的映射嗎? – NINCOMPOOP 2013-04-21 15:41:15

+0

當然,請參閱編輯。 – Lurk21 2013-04-21 15:46:40

回答

3

/rest/*將匹配/rest/teamService,但不匹配/rest/teamService/list

您可以使用/ rest/**匹配/ rest路徑下的所有內容。但是,你可能更願意使用:

@RequestMapping(value = "/rest/{service}/{action}") 
public @ResponseBody JSONResponse team(@PathVariable String service, @PathVariable String action, ...) { 

將匹配您的網址,並作進一步檢查提供方法主體中的通配部分。

+0

就是這樣!謝謝!我不知道**,並認爲*會抓住所有這一切。所以我完全被難倒了!謝謝,肖恩! – Lurk21 2013-04-21 16:01:38

相關問題