@GetMapping
和@RequestMapping(method = RequestMethod.GET)
之间的区别是什么?
我在一些Spring Reactive的例子中看到了这一点
使用@GetMapping
代替@RequestMapping
答案 0 :(得分:152)
@RequestMapping(method = RequestMethod.GET)
是一个组合注释,充当@GetMapping
的快捷方式。
SectionAuthorAdapter sectionAuthorAdapter;
sectionAuthorAdapter = new SectionAuthorAdapter (mainActivity,authors_groupses);
yourListView1.setAdapter(sectionAuthorAdapter );
sectionAuthorAdapter = new SectionAuthorAdapter (mainActivity,authors_groupses);
yourListView2.setAdapter(sectionAuthorAdapter );
是较新的注释。
它支持消费
消费选项是:
consumes =“text / plain”
consumes = {“text / plain”,“application / *”}
详情请见: GetMapping Annotation
RequestMapping也支持消费
答案 1 :(得分:19)
正如您所见here:
具体来说,
@GetMapping
是一个作为一个组成的注释@RequestMapping(method = RequestMethod.GET)
的快捷方式。
@GetMapping
&之间的差异@RequestMapping
@GetMapping
支持consumes
属性@RequestMapping
。
答案 2 :(得分:5)
@RequestMapping
是课程级别
@GetMapping
是方法级别
使用sprint Spring 4.3。一切都变了。现在,您可以在将处理http请求的方法上使用@GetMapping。使用(方法级别)@GetMapping注释完善了类级别的@RequestMapping规范
这里是一个例子:
@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)
答案 3 :(得分:0)
简短答案:
语义上没有区别。
具体来说,@ GetMapping是由组成的注释,用作 @RequestMapping的快捷方式(方法= RequestMethod.GET)。
进一步阅读:
RequestMapping
可以在课程级别使用:
此注释可以在类和方法级别上使用。 在大多数情况下,在方法级别,应用程序倾向于使用一种 HTTP方法特定的变体@ GetMapping,@ PostMapping, @ PutMapping,@ DeleteMapping或@PatchMapping。
而GetMapping
仅适用于方法:
用于将HTTP GET请求映射到特定处理程序的注释 方法。