@RequestMapping批注中路径和值属性之间的区别

以下两个属性和何时使用哪个属性有什么区别?

@GetMapping(path = "/usr/{userId}")

public String findDBUserGetMapping(@PathVariable("userId") String userId) {

return "Test User";

}

@RequestMapping(value = "/usr/{userId}", method = RequestMethod.GET)

public String findDBUserReqMapping(@PathVariable("userId") String userId) {

return "Test User";

}

回答:

如评论(和文档)所述,value是的别名path。Spring通常将value元素声明为常用元素的别名。对于@RequestMapping(和@GetMapping,…),这是path属性:

这是的别名path()。例如@RequestMapping("/foo")等于@RequestMapping(path="/foo")

其背后的原因是,value当涉及到注释时,该元素是默认元素,因此它使您可以以更简洁的方式编写代码。

其他示例包括:

  • @RequestParamvaluename
  • @PathVariablevaluename

但是,别名不仅限于注解元素,因为如您在示例中所演示的,它@GetMapping是的别名@RequestMapping(method =

RequestMethod.GET

只需在他们的代码中查找的引用,AliasFor您就可以看到他们经常这样做。

以上是 @RequestMapping批注中路径和值属性之间的区别 的全部内容, 来源链接: utcz.com/qa/433090.html

回到顶部