我们如何在Spring Boot控制器中检索自定义标头?

时间:2018-08-31 11:29:06

标签: spring-boot

我不在寻找以下标题:

Host                    localhost:8080
Accept                  text/html,application/xhtml+xml,application/xml;q=0.9
Accept-Language         fr,en-gb;q=0.7,en;q=0.3
Accept-Encoding         gzip,deflate
Accept-Charset          ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive              300

我正在寻找我在下面的cURL命令中传递的自定义标头

curl -v -b ./cookie.txt -H “User:username” -d “user=testacct1@youview.com” -X GET http://localhost:9898/signature

-想在我的Spring Boot控制器中检索“ -H” User:username “,请让我知道如何在Spring Boot Controller中检索此自定义标头。

2 个答案:

答案 0 :(得分:1)

在控制器中,您可以使用注释@RequestHeader来按名称访问标头或拥有所有标头。

另一种选择是使用HttpServletRequest

public void myControllerPoint(@RequestHeader("User") String user,
                              @RequestHeader @RequestHeader HttpHeaders headers, 
                              HttpServletRequest request) {

    String theUserHeader = headers.get("User"));
    String userFromServletRequest = request.getHeader("User");
}

答案 1 :(得分:0)

对于任何标头,控制器中的@RequestHeader属性将为您提供传递的标头的值。 我唯一的错误是cURL命令的逗号反斜杠(“而不是this”)不好,因此当我在控制器中尝试@RequestHeader时,一旦我意识到cURL命令不正确,始终不会得到响应,然后能够获得理想的结果。无论如何,谢谢。