繁体   English   中英

Spring Boot中的访问请求标头?

[英]Access Request Headers in Spring Boot?

我正在使用这个项目 ,尤其是这两个类: ApplicationStartup.javaApplication.java

我用谷歌搜索了一下,看起来所有其他示例都使用特定的/endpoint来获取请求标头,而我的应用只是在localhost:8080上运行。 但是看起来我确实有/graphql端点,因此应该可以解析请求的标头。

这是我的application.yml的内容:

server:
  port: 8080

spring:
  jpa:
    hibernate:
      ddl-auto: create
    show-sql: false

graphql.playground:
  mapping: /playground
  endpoint: /graphql

任何Spring控制器都可以使用@RequestHeader批注( 此处为文档)来访问标头作为方法参数的一部分:

@Controller
public class MyController {
    public ResponseEntity<String> schedule(@RequestBody MyDto request,
                                           @RequestHeader HttpHeaders headers)
{
   ...
}

如果您无权访问控制器代码,则可以实现一次OncePerRequestFilter并使用@gnana的方法访问基础servlet请求中的标头。

如果您的问题是获取当前的请求标头,则下面的代码将为您完成此操作。

HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()) .getRequest();

request.getHeader("Authorization");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM