相关疑难解决方法(0)

如何处理包含正斜杠(/)的请求?

我需要处理如下请求:

www.example.com/show/abcd/efg?name=alex&family=moore   (does not work)
www.example.com/show/abcdefg?name=alex&family=moore   (works)
www.example.com/show/abcd-efg?name=alex&family=moore   (works)
Run Code Online (Sandbox Code Playgroud)

它应该接受位于www.example.com/show/和之间的值的任何类型的字符?.请注意,那里的值将是单个值而不是操作的名称.

例如:/show/abcd/efg并且/show/lkikf?name=Jack其中第一个请求应该将用户重定向到页面abcd/efg(因为这是一个名称),第二个请求应该将用户重定向到页面lkikf以及参数名称的值.

我有跟随控制器来处理它,但问题是当我有/在地址控制器无法处理它.

@RequestMapping(value = "/{mystring:.*}", method = RequestMethod.GET)
public String handleReqShow(
            @PathVariable String mystring,
            @RequestParam(required = false) String name,
            @RequestParam(required = false) String family, Model model)     {
Run Code Online (Sandbox Code Playgroud)

我使用了以下正则表达式无法正常工作.

 /^[ A-Za-z0-9_@./#&+-]*$/
Run Code Online (Sandbox Code Playgroud)

java regex spring spring-mvc

36
推荐指数
3
解决办法
2万
查看次数

如何将 URL 作为路径变量传递

我试图将 URL 作为路径变量传递,但是当我输入 URL 作为参数并访问路由时,它返回错误。我希望在它作为参数传入路由后能够看到地址。

@RequestMapping("/addAddress/{address}")
public String addAddress(@PathVariable("address") String address) {
    System.out.println("Address: "+address)
    return address;
}
Run Code Online (Sandbox Code Playgroud)

例如,如果我输入 URL:

localhost:8080/addAddress/http://samplewebsite.com
Run Code Online (Sandbox Code Playgroud)

我应该看到

http://samplewebsite.com 
Run Code Online (Sandbox Code Playgroud)

在后端打印出来。

java spring-boot

5
推荐指数
1
解决办法
5828
查看次数

标签 统计

java ×2

regex ×1

spring ×1

spring-boot ×1

spring-mvc ×1