在 Spring Boot Rest Controller 中捕获所有请求路径

Catch all requested paths in Springboot RestController

我正在寻找一种在 Springboot 中获取端点的方法,该端点可以捕获发送到 / 的所有请求。理想情况下,/ 后面的所有内容都应作为字符串参数提交。

示例请求可能如下所示:http://myproxy.com/foo/bar?blah=blubb 我尝试了 /

的 RestController
@RestController
public class ProxyRestController {

    @RequestMapping("/{restOfPath}", method = RequestMethod.GET)
    public ResponseEntity<String> handleGetRequests(@PathVarialbe("restOfPath") String path) {
        return ResponseEntity.of(Optional.of(""));
    }

}

端点未捕捉到示例,因为它将被路由到 /foo/bar/foo 被捕捉到。

如何在 SpringBoot 中实现“捕获所有”端点?它也可以是 @RestController 之外的另一种方式,我只需要在组件内部并将 http 响应发送回调用者即可。

修改此代码以匹配您的代码:

@Controller
public class RestController {

@RequestMapping(value = "/**/{path:.*}")
public String index(final HttpServletRequest request) {
    final String url = request.getRequestURI();

    return "something";
}
}