在Springboot RestController中捕获所有请求的路径



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

示例请求可能如下所示: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";
}
}

最新更新