何时选择 @RequestParam 而不是 @PathVariable,反之亦然?

5
我知道单独使用@RequestParam@PathVariable的作用,但我的问题是在构建URL时,何时应该使用@RequestParam,何时应该使用@PathVariable?使用这两个注释的利弊如何?我查看了此链接When to go for @RequestParam and @PathVariable但是没有找到令人满意的答案。

可能是@RequestParam vs @PathVariable的重复问题。 - mnwsmit
@mnwsmit 不是重复的。那里讲述了这两个注释的含义,但没有对它们进行比较。我想要一个比较,并且想知道每个注释更适合使用的情况。 - Akash Raveendran
在这种情况下,问题可能对于stackoverflow来说太宽泛了。 - mnwsmit
3个回答

4

@PathVariable 用于识别传入请求的URI中使用的模式。

查询参数(@RequestParam)仅用于查询/搜索资源。它们包含影响查询的数据。

以下是创建良好URL的一些提示:some tips


3

使用@Pathvariable更有意义,可以让用户了解页面的含义。
twitter.com/{userid}
@RequestParams可用于获取信息作为参数,例如twitter.com?search=%23yolo
@Pathvariable将帮助用户导航或直接移动到某些视图/页面。


0

@PathVariable:

当你需要通过URL传递参数来获取数据时,在Spring MVC中,你可以自定义URL以获取数据。为此,Spring框架使用@PathVariable注解。@PathVariable用于从URI中获取某个占位符(Spring将其称为URI模板)。

@RequestParam:

用于获取请求参数。@RequestParam将一个请求参数绑定到你的方法的参数上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接