回答:
でパラメータに注釈を付けると、パラメータ@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
ようなフラグを使用することで回避できる@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
は、着信文字ストリームを読み取るために使用されます。StreamSource
XMLマークアップのストリームの形式で変換ソースのホルダーとして機能します。