Spring 注解中大括号中的值

发布于 2025-01-08 19:10:26 字数 695 浏览 0 评论 0原文

对于那些了解 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) {...}

By 这样的代码对此,我知道每当遇到 url“/url/path”时,都会调用 list() 方法,但我无法理解前一个注释的含义是什么?

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

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

是什么意思?

This might be a simple question for those who know Spring, but since I am a newbie, I will ask it anyway.

I am going through some Spring code and I am not able to understand the following-

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

The comment for this section of the code is - "When using URI Templates, access parameters using the @PathVariable annotation.

Now earlier, I came across code like

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

By this, I understand that whenever the url "/url/path" is encountered, the list() method will be called, but I am not able to make sense of the former annotation. What does it mean?

Also, the next line says @PathVariable annotations can be limited via regular expressions

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

What does it mean?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贱人配狗天长地久 2025-01-15 19:10:26

16.3.2.2 URI 模板模式

URI 模板可用于在 @RequestMapping 方法中方便地访问 URL 的选定部分。

例如,URI 模板 http://www.example.com/users/{userId} 包含变量 userId。将值 fred 分配给变量会产生 http://www.example.com/users/fred

在 Spring MVC 中,您可以在方法参数上使用 @PathVariable 注释将其绑定到 URI 模板变量的值:

因此,在您的示例中:

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

这将提取由 < 表示的 URL 部分code>{id},并将其绑定到id方法参数,例如路径/42会将42绑定到<代码>id。

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:

So, in your example:

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

This will extract the part of the URL represented by {id}, and bind it to the id method parameter, e.g. the path /42 will bind 42 to id.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文