路径与弹簧之间的Spring MVC差异@RequestMapping Annotation中的变量

时间:2018-05-23 06:03:55

标签: java spring spring-mvc annotations request-mapping

我想知道Path类中Spring MVC中VariableController之间的区别。

@RequestMapping("/home")
@RequestMapping(value = "/home")
@RequestMapping(path = "/home")

基于Spring文档Spring 5 Annotation Type RequestMapping,路径是value的别名,值是路径的别名。 我想知道这3个RequestMapping的定义和区别。

3 个答案:

答案 0 :(得分:2)

@RequestMapping(" / home")和@RequestMapping(值=" / home")之间没有区别。但是如果你想添加一些其他参数然后你必须使用,

@GetMapping(value = "/home/{ABC}", consumes = MediaType.ALL_VALUE)

因为如果写,

@GetMapping("/getTodayActivity/{millis}", consumes = MediaType.ALL_VALUE)

然后它会编译错误,所以只想使用更多参数然后你必须使用"值"

答案 1 :(得分:1)

根据this,当您使用类级别或方法级别时,x@RequestMapping("/home")之间没有区别。

但是,您可以使用此用法传递多个变量@RequestMapping(value = "/home")

答案 2 :(得分:0)

@RequestMapping("/home")@RequestMapping(value = "/home")之间没有区别。如果只有一个映射,则可以快速使用前者;如果有多个URL映射到同一位置,则可以快速使用前者,例如@RequestMapping(value={"/home","/home2","/home2/home3"})

同样,pathvalue也相同。如果你看一下它们的定义,它们基本上是别名的别名:

value 的定义:

@AliasFor(value="path")
public abstract java.lang.String[] value
    ...

路径的定义:

@AliasFor(value="value")
public abstract java.lang.String[] path
    ...

对于所有定义,您始终可以访问the official docs