如何在Webflux ServerHttpRequest中获取原始URL路径

时间:2019-11-03 08:35:28

标签: java spring spring-mvc

如何获取RequestMapping中编写的绝对URL?

下面给出的代码:

@RequestMapping("/user/{id}") public User get(){ String url = "/user/{id}"; };

1 个答案:

答案 0 :(得分:0)

根据Spring Docs-ServerHttpRequest

getPath()

  

返回一个RequestPath对象,该对象在应用程序部分和路径段的一部分中包含context path + path

根据Spring Docs-RequestPath

pathWithinApplication()

  

上下文路径之后的请求路径部分。这将返回一个PathContainer对象。

根据Spring Docs-PathContainer

value()

  

返回从中解析此实例的原始路径。

将代码修改为此:

@Controller
public class ExampleController {

  @RequestMapping("/user/{id}")
  public User get(ServerHttpRequest request) {
    String url = request.getPath().pathWithinApplication().value();
    /* if this is not giving you desired result, then try with subPath() method. See docs for info. */ 
  }  
}

希望这个答案对您有所帮助。