Spring mvc SpringMVC中注释@RequestMapping的属性名、值和路径之间的差异
我正在努力理解Spring mvc SpringMVC中注释@RequestMapping的属性名、值和路径之间的差异,spring-mvc,Spring Mvc,我正在努力理解@RequestMapping中属性name、path和value之间的区别。我研究了API,但它没有清楚地说明它。我在谷歌上搜索了几个小时,但它只是部分起作用。你能告诉我细节吗?谢谢大家! 让我们看看javadoc。从路径开始: 路径映射URI(例如“/profile”) 这就是Spring根据请求的实际路径来决定是否调用该方法的路径 现在值: 此批注表示的主映射 这是path()的别名。例如,@RequestMapping(“/foo”)等同于@RequestMapping(p
@RequestMapping
中属性name
、path
和value
之间的区别。我研究了API,但它没有清楚地说明它。我在谷歌上搜索了几个小时,但它只是部分起作用。你能告诉我细节吗?谢谢大家! 让我们看看javadoc。从路径开始:
路径映射URI(例如“/profile”)
这就是Spring根据请求的实际路径来决定是否调用该方法的路径
现在值:
此批注表示的主映射
这是path()的别名。例如,@RequestMapping(“/foo”)等同于@RequestMapping(path=“/foo”)
所以,很明显:值和路径是完全等价的
最后的名字是:
为此映射指定一个名称
所以这是完全不同的。它为该映射提供了一个名称。为什么名称对映射有用?您可以通过单击文档中链接到attrbibute的“请参见”类来发现这一点。HandlerMethodMappingNamingStrategy的javadoc说:
应用程序可以在静态方法MvcUriComponentsBuilder#fromMappingName[…]的帮助下按名称构建控制器方法的URL
因此,如您所见,映射的名称可用于构造URL,该URL将通过使用其映射的名称与给定的控制器方法相匹配。这使得可以通过使用名称而不是路径来更改映射的路径,而不必到处更改它
除了javadoc之外,您的第一个目的地应该是。当你想了解框架时,这通常比谷歌搜索更有效