Java 路径变量不工作-404资源不可用

Java 路径变量不工作-404资源不可用,java,spring,Java,Spring,这是我的java控制器: @Controller @RequestMapping("/resetPassword") @Service public class GmiResetPasswordController { @RequestMapping(value = "/resetPassword/{id}/{token}", method = RequestMethod.GET) public @ResponseBody AnalystDet

这是我的java控制器:

@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
[...]
我正在尝试使用此URL获取:

这是我的spring安全xml:

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

仍然不工作。。这是链接:

您的映射应该如下所示:

@控制器
@请求映射(“/resetPassword”)
公共类GmiResetPasswordController{
@RequestMapping(value=“/{id}/{token}”,method=RequestMethod.GET)
@应答器
公共AnalystDetails getDetails(模型模型,HttpServletRequest请求,@PathVariable(“id”)int-id,@PathVariable(“令牌”)字符串令牌){
//...
}
}

为什么控制器上标注了@Service?删除服务注释。您正在控制器级别和方法级别映射到resetPassword,因此映射的url是/resetPassword/resetPassword/{id}/{token}删除其中一个。
@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) {
[...] 
}