web-dev-qa-db-ja.com

Spring MVCは@RequestParam値をどのように変換しますか?

私はSpringFrameworkを初めて使用しますが、症状として、Web MVC部分の採用をできるだけ単純にしておきたいので、注釈関数を使用してSpringを操作しています。過去に、私は使用しました:
int value = Integer.valueOf(request.getParameter("numberValue"))
パラメータから値をプルする-getParameter()によって返される文字列を明示的に変換します。
役立つことに、Springの用語を使用すると次のことに気づきました。
@RequestParameter("numberValue") int numVal
変換は自動的に処理されます。これは素晴らしいですが、私にとっては「ブラックボックス」です。ここまたはSpringのドキュメントで質問を調べてみましたが、そのすべての情報は、オブジェクトのカスタム変換(Converterなど)またはフォーマットの問題を扱っています。私が知りたいのは、Springがデフォルトで@RequestParamのプリミティブ型変換をどのように処理するかです。

11
WannabeCoder

Springの用語@RequestParameter( "numberValue")int numValを使用すると、変換が自動的に処理されることに気付きました。

ここでは型変換を探しています

これに与えられた春のドキュメントによると リンク

リクエストパラメータ、パス変数、リクエストヘッダー、Cookie値など、リクエストから抽出された文字列ベースの値は、メソッドパラメータまたはフィールドのターゲットタイプに変換する必要がある場合があります(たとえば、リクエストパラメータを@ModelAttributeのフィールドにバインドする)パラメータ)それらはバインドされています。ターゲットタイプがStringでない場合、Springは自動的に適切なタイプに変換します。 int、long、Dateなどのすべての単純な型がサポートされています。

13
Dev