为了账号安全,请及时绑定邮箱和手机立即绑定

如何将url作为@PathVariable传递给spring RestController?

如何将url作为@PathVariable传递给spring RestController?

月关宝盒 2022-06-15 16:59:06
我想将 URL 放入 GET 请求中,这样我就可以将用户重定向到给定的 URL。到目前为止,这是我的代码:@RequestMapping(value = { "/mapping/{param1}/{redirectLink}" }, method = { RequestMethod.GET})public void mapping(HttpServletResponse response, @PathVariable("param1") String param1, @PathVariable("redirectLink") String redirectLink) throws IOException {    // code i wanna run    response.sendRedirect(backLink);}我用来获取的示例 url - http://localhost:8080/app/controller/redirectionTest/1234/http://localhost:3000/main因此,当我调用 GET 方法时,我想运行一些代码,然后将其重定向到http://localhost:3000/main但 URL 中有斜杠,因此无法运行。
查看完整描述

2 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

用标准代码替换斜杠:%2F.

http://localhost:8080/app/controller/redirectionTest/1234/http%3A%2F%2Flocalhost%3A3000%2Fmain

我已将冒号替换为%3A以防万一您对此也有疑问


查看完整回答
反对 回复 2022-06-15
?
萧十郎

TA贡献1815条经验 获得超13个赞

你可以试试这个


@RequestMapping(value = { "/mapping/{param1}" }, method = { RequestMethod.GET})

public void mapping(HttpServletResponse response, @PathVariable("param1") String param1, @RequestParam(required = true, value = "redirectLink") String redirectLink) throws IOException {

    // code i wanna run

    response.sendRedirect(redirectLink);

}

现在,访问http://localhost:8080/app/controller/redirectionTest/1234?redirectLink=http://localhost:3000/main


查看完整回答
反对 回复 2022-06-15
  • 2 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信