답변:
로 매개 변수에 주석을 달면 매개 변수가 @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
각각 파라미터.
걱정할 필요가 없습니다. 우리는 모두 무언가에 멍청한 놈입니다.
Servlet
API 의 세부 사항을 추상화하도록하고 싶습니다 . 주석을 사용하여 요청에서 필요한 것을 가져올 수 있습니다.
required
같은 플래그 를 사용하여 피할 수있는 @lospejos는 @RequestHeader(name = "Keep-Alive", required = false) long keepAlive
제공되지 않으면 keepAlive를 널로 설정합니다. defaultValue
주석 docs.spring.io/spring-framework/docs/5.0.7.RELEASE/javadoc-api/…에
메소드 매개 변수 @RequestHeader
와 함께 주석을 사용하여 HttpHeaders
모든 요청 헤더에 액세스 할 수 있습니다.
@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);
// ...
}
StringReader
들어오는 문자 스트림을 읽는 데 사용됩니다. StreamSource
XML 마크 업 스트림의 형태로 변환 소스의 홀더로 작동합니다.