回答:
でパラメータに注釈を付けると、パラメータ@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、それぞれのパラメータ。
そして、心配はありません。私たちは皆何かに慣れていない。
ServletAPIの詳細を抽象化してもらいたいと思っています。アノテーションを使用して、リクエストから必要なものを引き出します。
requiredようなフラグを使用することで回避できる@RequestHeader(name = "Keep-Alive", required = false) long keepAlive@lospejosを指定しないと、keepAliveがnullに設定されます。あり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は、着信文字ストリームを読み取るために使用されます。StreamSourceXMLマークアップのストリームの形式で変換ソースのホルダーとして機能します。