gpt4 book ai didi

java - Spring MVC - 使用路径变量编辑响应 URL

转载 作者:搜寻专家 更新时间:2023-11-01 02:10:30 26 4
gpt4 key购买 nike

我将使用 StackOverflow 的用户配置文件页面作为示例。假设我们有这个 URL:

https://stackoverflow.com/users/2036414/userlogin

如果我们像这样更改(在浏览器的 url 栏中编辑)最后一个路径变量:

https://stackoverflow.com/users/2036414/aWordThatIsNotTheLoginOfThisUser

...然后按 Enter,返回的 URL 将是第一个,这意味着这个变量被设置为正确的登录,基于另一个变量,它可能是用户的 ID (2036414)。换句话说,URL 被更正为:

https://stackoverflow.com/users/2036414/userlogin

我的问题是:如何使用 Spring MVC 做到这一点?这是我的 Controller :

@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
}

任何帮助将不胜感激,谢谢。

最佳答案

Stackoverflow 可能会做一些花哨的事情 URL rewriting .一种简单的方法是发送重定向。让您的处理程序方法获取用户 ID 并检查它是否与用户名字符串匹配。 如果没有,则发送重定向

return "redirect:/users/" + id + "/" + correctUserName;

这将向浏览器发送 302 响应。浏览器将向构造的地址发送新的 HTTP 请求。

关于java - Spring MVC - 使用路径变量编辑响应 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19504019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com