복붙노트

[SPRING] Spring MVC REST 컨트롤러에서 HTTP 헤더 정보에 액세스하는 방법은 무엇입니까?

SPRING

Spring MVC REST 컨트롤러에서 HTTP 헤더 정보에 액세스하는 방법은 무엇입니까?

나는 웹 프로그래밍에 익숙하지 않은데, 특히 자바에서 프로그래밍을 처음 접했을 때 헤더와 바디가 무엇인지 배웠다.

저는 Spring MVC를 사용하여 RESTful 서비스를 작성하고 있습니다. 컨트롤러에서 @RequestMapping을 사용하여 간단한 서비스를 만들 수 있습니다. 내 REST 서비스 컨트롤러에서 내 메서드에 대한 요청에서 HTTP 헤더 정보를 얻는 방법을 이해하는 데 도움이 필요하다. 머리글을 구문 분석하고 일부 특성을 얻고 싶습니다.

정보를 얻는 방법에 대해 설명해 주시겠습니까?

해결법

  1. ==============================

    1.@RequestHeader로 매개 변수에 주석을 추가하면 매개 변수가 헤더 정보를 검색합니다. 그래서 당신은 다음과 같이 할 수 있습니다 :

    @RequestHeader로 매개 변수에 주석을 추가하면 매개 변수가 헤더 정보를 검색합니다. 그래서 당신은 다음과 같이 할 수 있습니다 :

    @RequestHeader("Accept")
    

    Accept 헤더를 얻는다.

    그래서 문서에서 :

    @RequestMapping("/displayHeaderInfo.do")
    public void displayHeaderInfo(@RequestHeader("Accept-Encoding") String encoding,
                                  @RequestHeader("Keep-Alive") long keepAlive)  {
    
    }
    

    Accept-Encoding 및 Keep-Alive 헤더 값은 각각 encoding 및 keepAlive 매개 변수에 제공됩니다.

    걱정 마세요. 우리는 모두 뭔가 멍청하다.

  2. ==============================

    2.모든 요청 헤더에 액세스하려면 HttpHeaders 메서드 매개 변수와 함께 @RequestHeader 주석을 사용할 수 있습니다.

    모든 요청 헤더에 액세스하려면 HttpHeaders 메서드 매개 변수와 함께 @RequestHeader 주석을 사용할 수 있습니다.

    @RequestMapping(value = "/restURL")
    public String serveRest(@RequestBody String body, @RequestHeader HttpHeaders headers) {
        // Use headers to get the information about all the request headers
        long contentLength = headers.getContentLength();
        // ...
        StreamSource source = new StreamSource(new StringReader(body));
        YourObject obj = (YourObject) jaxb2Mashaller.unmarshal(source);
        // ...
    }
    
  3. ==============================

    3.예를 들어 Header 매개 변수의 해결책은 user = "test"입니다.

    예를 들어 Header 매개 변수의 해결책은 user = "test"입니다.

    @RequestMapping(value = "/restURL")
      public String serveRest(@RequestBody String body, @RequestHeader HttpHeaders headers){
    
    System.out.println(headers.get("user"));
    }
    
  4. from https://stackoverflow.com/questions/19556039/how-to-get-access-to-http-header-information-in-spring-mvc-rest-controller by cc-by-sa and MIT license