gpt4 book ai didi

java - Spring mvc 将 url "myapp.com/Foo/12345/test-one"重写为 "myapp.com/Foo/12345/test-one-a-b"

转载 作者:行者123 更新时间:2023-11-30 11:37:23 24 4
gpt4 key购买 nike

我想使用普通的 spring mvc Controller 并使用路径变量请求映射。

我不想转发或重定向,只是改变用户看到的字符串。

@RequestMapping(value = "/Foo/{id}/*", method = RequestMethod.GET)
public ModelAndView getFoo(@PathVariable final String friendlyUrl) {
//how can I rewite the url that user sees ?
}

(与更改 stackoverflow 上现有问题的标题时的行为相同)

最佳答案

如果您在 wireshark、firebug 或其他东西中观察流量,stackoverflow 会向最终 URL 发送 HTTP 301 永久移动。你也可以这样做。

为此您需要HttpServletResponse,您可以将它添加到方法签名中以将其注入(inject)。设置永久重定向:

String rightUrl = urlCompleter.complete(friendlyUrl);
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", rightUrl);

您需要自己实现 urlCompleter 的地方,例如。查看数据库条目表并找到正确的 url 组件。

关于java - Spring mvc 将 url "myapp.com/Foo/12345/test-one"重写为 "myapp.com/Foo/12345/test-one-a-b",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14081570/

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