大家。
我正在使用Spring MVC 4.我的应用程序将激活URL发送到用户的电子邮件。
激活网址:
www.example.com:8080/myapp/user/activate/$2a$10$Ax2WL93zU3mqjtdxuYlYvuWWyQsPBhkhIfzYHJYk4rdNlAY8qCyC6
但是,我的App无法找到路径。
我的控制器:
@RequestMapping(value = "/user/activate/{hash})
public void activateUser(@PathVariable("hash") String hash) {
userService.activate(hash);
}
我做错了什么?
更新
我发现如果hash包含点(“。”),则抛出404错误。
我改变了我的网址:
www.example.com:8080/myapp/user/activate?code=$2a$10$Ax2WL93zU3mqjtdxuYlYvuWWyQsPBhkhIfzYHJYk4rdNlAY8qCyC6
和我的控制员:
@RequestMapping(value = "/user/activate)
public void activateUser(@RequestParam("code") String hash) {
userService.activate(hash);
}
效果很好。
答案 0 :(得分:3)
您没有从控制器返回任何内容,因此收到404
答案 1 :(得分:0)
如果路径变量值中有点(。),则必须在RequestMapping中明确声明它,如下所示 -
@RequestMapping(value = "/download/{attachmentUri:.+}", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<InputStreamResource> downloadAttachment(@PathVariable("attachmentUri") String attachmentUri,
HttpServletResponse response,
WebRequest webRequest) {
}