代码之家  ›  专栏  ›  技术社区  ›  CrizR

如何在端点函数体中检索请求方法?

  •  0
  • CrizR  · 技术社区  · 5 年前

    假设我有一个控制器,这是我的端点。我将如何做一些类似于我身体里的事情?

    @RequestMapping(path = "/path/**", consumes = "application/json")
    @ResponseStatus(HttpStatus.OK)
    public <T> ResponseEntity<T> getResponse(@PathVariable UUID varId) {
       HttpMethod httpMethod = foo();
       if (httpMethod == httpMethod.GET) {
          //do something
       }
    }
    

    有办法做到这一点吗?

    1 回复  |  直到 5 年前
        1
  •  3
  •   Vüsal    5 年前

    您可以注入 HttpServletRequest 按照你的方法。

    @RequestMapping(path = "/path/**", consumes = "application/json")
    @ResponseStatus(HttpStatus.OK)
    public <T> ResponseEntity<T> getResponse(@PathVariable UUID varId, 
                                             HttpServletRequest httpServletRequest) {
       HttpMethod httpMethod = HttpMethod.valueOf(httpServletRequest.getMethod());
       if (httpMethod == httpMethod.GET) {
          //do something
       }
    }
    

    请注意 @GetMapping @PostMapping @RequestMapping(method="...") -您可以指定给定端点允许使用哪些HTTP方法。