Spring MVC中的@RequestParam注解的使用指南
概述
简单映射
指定请求参数名称
可选的请求参数
请求参数的默认值
请注意,当我们设置 defaultValue 属性时, required确实设置为false。
映射所有参数
映射多值参数
前提概要
URI编码
同时,对于80-FF字节(ISO-8859-1),由于已经超出了US-ACII定义的字节范围,因此也不可以放在Url中。
两种注解的编码问题
我们可以根据上两种注解来分别执行两个示例。
@RequestParam示例结果:
@PathVariable示例结果:
根据上面两种结果,@PathVariable 从路径中获取是不用编码解码的,而@RequestParam会进行编码解码。这种特性很少有人注意到,所以我需要特别指出来
可选值
我们可以使用从Spring 4.3.3开始的必需属性使@PathVariable成为可选:
然后我们对该接口可以同时进行下面的操作:
或者:
对于@RequestParam,我们也可以通过设置required属性进行实现类似的效果。但是请注意,在使@PathVariable成为可选时我们应该小心,以避免路径冲突。
相关文章