springmvc接口的参数怎么定义更好

2025-04-24 18:25:48
推荐回答(1个)
回答1:

/**

* 使用整型int传参
* 优点:基本类型传参,无类型转换问题
* 缺点:未传值,或传入非整数时报错(500)
*/
@RequestMapping(value = "/getstring1")
@ResponseBody
public String getString1(int id)
/**

* 使用整型int传参,加参数注解
* 优点:使用值类型传参,能解决未传值的校验问题
* 缺点:传入非整型数字时错误(500),且需要做参数注解(RequestParam)
*/
@RequestMapping(value = "/getstring2")
@ResponseBody
public String getString2(@RequestParam(defaultValue = "0", name = "id", required = false) int id){}

/**

* 使用整型包装类传参Integer
* 优点:参数不传值(即null的场景)能正常提示错误,不用类型转换
* 缺点:使用的是包装(引用)类型;id参数输入是非整型数字时接口报500
*/
@RequestMapping(value = "/getstring3")
@ResponseBody
public String getString3(Integer id)

/**

* 优点:这种方式能解决非整数的输入的验证以及null的验证
* 缺点:使用包装类型,且需要做类型转换
*/
@RequestMapping(value = "/getstring4")
@ResponseBody
public String getString4(String id)