簡體   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