0

この期間、私は Spring MVC ショーケースの例を研究しています。現在、Spring MVC がどのようにデータを必要とするかを研究しています。

HTTP Request ヘッダーがどのように処理されるかを理解するのにいくつかの困難があります。

実際には、次のリンクがあります。

<a id="header" class="textLink" href="<c:url value="/data/header" />">Header</a>

このリンクは、URL への HTTP リクエストを生成します: "/data/header"

これは、この HTTP リクエストを処理する RequestDataController クラスのメソッドです (クラス全体に @RequestMapping("/data") の注釈が付けられているため、このメソッドは /data/header URL を処理します)

@RequestMapping(value="header", method=RequestMethod.GET)
public @ResponseBody String withHeader(@RequestHeader String Accept) {
    return "Obtained 'Accept' header '" + Accept + "'";
}

そのため、withHeader メソッドは、メソッド パラメータを Web リクエスト ヘッダーにバインドする必要があることを示すアノテーションである@RequestHeaderアノテーションによって注釈が付けられたパラメータを取ります。

わかりましたので、私の答えは次のとおりです。 Accept 変数の中に正確には何がありますか? HTTP Accetp ヘッダーの値は? または何?

私が知っているFow Accept request-headerフィールドを使用して、応答に受け入れられる特定のメディアタイプを指定できます。Accept ヘッダーを使用して、インライン画像のリクエストの場合のように、リクエストが目的のタイプの小さなセットに限定されていることを示すことができます。

したがって、私の出力 (戻り値) は次のとおりです。q=0.01'

うーん...この Accept headers フィールドの値は正確には何を意味するのでしょうか?

ありがとうございました

アンドレア

4

1 に答える 1

2

はい、@RequestHeader でパラメーターに注釈を付けると、ヘッダー情報を取得するためにパラメーター名が使用されます。この場合、「Accept」のヘッダー名になります。パラメーター名も使用できますaccept。ヘッダー名は次の場所で取得されます。大文字と小文字を区別しない方法。

次のようにヘッダー名を明示的に指定することもできます。@RequestHeader("Accept")

あなたが示したようなAcceptヘッダーは、クライアント(ブラウザ)が応答のメディアタイプとして受け入れることができるものを言う方法です。

于 2012-12-14T17:42:37.993 に答える