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

我想将 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 中有斜杠,因此无法运行。


月关宝盒
浏览 167回答 2
2回答

长风秋雁

用标准代码替换斜杠:%2F.http://localhost:8080/app/controller/redirectionTest/1234/http%3A%2F%2Flocalhost%3A3000%2Fmain我已将冒号替换为%3A以防万一您对此也有疑问

萧十郎

你可以试试这个@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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java