2017-03-01 32 views
0

這是我的Java控制器:路徑變量不工作 - 404資源不可

@Controller 
@RequestMapping("/resetPassword") 

@Service 
public class GmiResetPasswordController { 
@RequestMapping(value = "/resetPassword/{id}/{token}", method = RequestMethod.GET) 
     public 
     @ResponseBody 
     AnalystDetails getDetails(Model model, HttpServletRequest request, @PathVariable("id") int id, @PathVariable("token") String token) { 
//getDetails 
[...] 

我試圖讓使用這個網址:http://localhost:8080/resetPassword/59/3e3ac731-3ac4-45eb-8bf6-5f8e4b00298c

這是我的春天安全的xml:

<security:http pattern="/resetPassword/**" security="none"> 
</security:http> 

任何幫助?

編輯 改變控制器到:

@Controller 
@RequestMapping("/resetPassword") 
public class GmiResetPasswordController { 
@RequestMapping(value = "/{id}/{token}", method = RequestMethod.GET) 
     public 
     @ResponseBody 
     AnalystDetails getDetails(Model model, HttpServletRequest request, @PathVariable(value = "id") int id, @PathVariable(value = "token") String token) { 
[...] 
} 

仍然沒有工作..這是鏈接:http://localhost:8080/resetPassword/59/52ed96c3-5041-4ff9-be66-0aa2dbeca713

+1

爲什麼你的控制器是用@Service註釋的嗎?刪除服務註釋。您正在控制器級別和方法級別映射到resetPassword,因此您映射的URL是/ resetPassword/resetPassword/{id}/{token}刪除其中一個。 – alfcope

回答

0

你的映射應該是這樣的:

@Controller 
@RequestMapping("/resetPassword") 
public class GmiResetPasswordController { 

    @RequestMapping(value = "/{id}/{token}", method = RequestMethod.GET) 
    @ResponseBody 
    public AnalystDetails getDetails(Model model, HttpServletRequest request, @PathVariable("id") int id, @PathVariable("token") String token) { 

     //... 

    } 

} 
+0

仍然無法正常工作,404錯誤。 – user7470849