回答:
@GetMapping
のショートカットとして機能する合成アノテーションです @RequestMapping(method = RequestMethod.GET)
。
@GetMapping
新しい注釈です。消費をサポート
消費オプションは次のとおりです。
消費する= "text / plain"
消費= {"text / plain"、 "application / *"}
詳細については、GetMappingアノテーションを参照してください。
または読み取り: マッピングバリアントのリクエスト
RequestMappingは消費もサポートします
メソッドレベルでのみ適用できるGetMappingと、クラスレベルおよびメソッドレベルで適用できるRequestMappingアノテーション
具体的に
@GetMapping
は、のショートカットとして機能する合成アノテーションです@RequestMapping(method = RequestMethod.GET)
。
@GetMapping
&の違い@RequestMapping
@GetMapping
のconsumes
ような属性をサポートします@RequestMapping
。
@RequestMapping
クラスレベルです
@GetMapping
メソッドレベルです
スプリントスプリング4.3。以上が変化しました。これで、httpリクエストを処理するメソッドで@GetMappingを使用できます。クラスレベルの@RequestMapping仕様は、(メソッドレベル)@GetMappingアノテーションで改良されています
次に例を示します。
@Slf4j
@Controller
@RequestMapping("/orders")/* The @Request-Mapping annotation, when applied
at the class level, specifies the kind of requests
that this controller handles*/
public class OrderController {
@GetMapping("/current")/*@GetMapping paired with the classlevel
@RequestMapping, specifies that when an
HTTP GET request is received for /order,
orderForm() will be called to handle the request..*/
public String orderForm(Model model) {
model.addAttribute("order", new Order());
return "orderForm";
}
}
Spring 4.3以前は、 @RequestMapping(method=RequestMethod.GET)
短い答え:
セマンティックに違いはありません。
具体的には、@ GetMappingは、@ RequestMapping(method = RequestMethod.GET)のショートカットとして機能する合成アノテーションです。
参考文献:
RequestMapping
クラスレベルで使用できます。
このアノテーションは、クラスとメソッドレベルの両方で使用できます。ほとんどの場合、メソッドレベルでは、アプリケーションはHTTPメソッド固有のバリアント@ GetMapping、@ PostMapping、@ PutMapping、@ DeleteMapping、または@PatchMappingのいずれかを使用することを好みます。
一方GetMapping
、メソッドにのみ適用されます:
HTTP GETリクエストを特定のハンドラメソッドにマッピングするためのアノテーション。
@GetMapping
サポートconsumes
- docs.spring.io/spring-framework/docs/current/javadoc-api/org/...