場合によっては、 で uri を指定する 2 つの異なる方法を見てきました@RequestMapping
。
@RequestMapping(value="/somepath")
@RequestMapping("/somepath")
後者はクラス レベルでよく使用されます。value
では、属性を省略することは常に合法ですか?
Java言語仕様の状態
1 つの要素に値という名前が付けられ、他のすべての要素がデフォルト値を持つ限り、複数の要素を持つ注釈型に単一要素の注釈を使用することは合法です。
@RequestMapping
には定義済みの属性があり、他のすべての属性にはデフォルト値 (空の配列) があるため、注釈に他の属性を指定しない場合value
は、常に名前のスペルを省略できます。value
@RequestMapping("/somepath") // valid
@RequestMapping("/somepath", method = RequestMethod.GET) // INVALID!
@RequestMapping
アノテーション値はプライマリ属性であるため、必須です。
1)@RequestMapping(value="/somepath")
: ここでは、残りの属性について言及できます。例: method,produces
2) @RequestMapping("/somepath")
: ここでは、残りの属性について言及することはできません。デフォルトで"/somepath"
は値属性として取得されるためです。