如何在@RequestParam()中给出整数的默认值

时间:2017-12-14 12:55:25

标签: java spring-boot

我是春季启动的新手并且正在学习@RequestParam()

我知道我们可以在String中给出defaultValue,但是当我试图将默认值设为Integer时,它会向我显示错误。

@RequestMapping("/returnVeriable")
public int getVeriable(@RequestParam(required=true,defaultValue=1/*error here*/) int veri){
    return veri;
}

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:4)

尝试使用“”整数来使其成为字符串,因为defaultValue实现为String。

@RequestMapping("/returnVeriable")
public int getVeriable(@RequestParam(required=true,defaultValue="1") Integer veri){
    return veri;
}

参考:https://jira.spring.io/browse/SPR-5915

答案 1 :(得分:3)

当HTTP协议的值流量时,它没有类型。它是一个字符串。因此它是注释中的此参数类型。然后,你做这样的事情:

@RequestParam(required = true, defaultValue = "1") Integer veri

它会正常工作。

答案 2 :(得分:1)

这应该有效

@RequestMapping("/returnVariable")
public int getVariable(@RequestParam(required=true,defaultValue="1") int var) {
    return var;
}

默认情况下,传递给控制器​​的内容被视为String并转换为相应的类型。因此,即使默认值也需要设置为String