gpt4 book ai didi

spring-mvc - Spring 注解中大括号中的值

转载 作者:行者123 更新时间:2023-12-04 03:06:46 25 4
gpt4 key购买 nike

对于了解Spring的人来说,这可能是一个简单的问题,但由于我是新手,所以我还是会问。

我正在查看一些 Spring 代码,但我无法理解以下内容-

 @RequestMapping(value="/{id}") 
public void show(@PathVariable("id") long id, Model model) {...}

这部分代码的注释是——“使用 URI 模板时,使用 @PathVariable 注释访问参数。”

现在早些时候,我遇到了这样的代码

 @RequestMapping(value="/url/path") 
public String list(Model model) {...}

据此,我了解到每当遇到 url "/url/path"时,都会调用 list() 方法,但我无法理解前面的注释。什么意思?

此外,下一行说@PathVariable 注释可以通过正则表达式进行限制

 @RequestMapping(value="/{id}")
public void show(@PathVariable("id:[\\d]*") String idl) {...} // will match only numberic IDs

这是什么意思?

最佳答案

16.3.2.2 URI Template Patterns

URI templates can be used for convenient access to selected parts of a URL in a @RequestMapping method.

For example, the URI Template http://www.example.com/users/{userId} contains the variable userId. Assigning the value fred to the variable yields http://www.example.com/users/fred.

In Spring MVC you can use the @PathVariable annotation on a method argument to bind it to the value of a URI template variable:

因此,在您的示例中:

@RequestMapping(value="/{id}") 
public void show(@PathVariable("id") long id, Model model) {...}

这将提取由 {id} 表示的 URL 部分,并将其绑定(bind)到 id 方法参数,例如路径 /42 会将 42 绑定(bind)到 id

关于spring-mvc - Spring 注解中大括号中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9437049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com