vit*_*ati 4 java rest path-variables spring-mvc
我将使用StackOverflow的用户配置文件页面作为示例.假设我们有这个网址:
如果我们更改(在浏览器的url栏中编辑)最后一个路径变量,如下所示:
/sf/users/142549011/WordThatIsNotTheLoginOfThisUser
...并按Enter键,返回的URL将是第一个,这意味着此变量被设置为正确的登录,基于另一个变量,可能是用户的id(2036414).换句话说,URL被更正为:
我的问题是:如何使用Spring MVC做到这一点?这是我的控制器:
@RequestMapping(value="/{id}/{login}", method = RequestMethod.GET)
public String showPerfilUsuario(@PathVariable("id") long id, @PathVariable("login") String login, Map<String, Object> model){
Usuario usuario = usuarioService.buscarUsuarioPorId(id);
model.put("usuario", usuario);
return "usuario"; //that's the tiles definition's name
}
Run Code Online (Sandbox Code Playgroud)
任何帮助都会被贬低,谢谢.
Stackoverflow可能正在做一些奇特的URL重写.一种简单的方法是发送重定向.让您的处理程序方法获取用户ID并检查它是否与用户名字符串匹配.如果没有,则发送重定向
return "redirect:/users/" + id + "/" + correctUserName;
Run Code Online (Sandbox Code Playgroud)
这将向浏览器发送302响应.浏览器将向构造的地址发送新的HTTP请求.
| 归档时间: |
|
| 查看次数: |
3663 次 |
| 最近记录: |