springboot中,对于@RequestParam required = false的参数怎么处理?

m0_37502844 2017-09-04 04:56:27
代码如下,description是可以不传的参数,insertLabel是将参数插入数据库的函数,但是由于description是可选参数,所以函数接受的参数个数不确定.这种情况怎么处理.这是一个可选参数的情况,更多个可选参数又该怎么处理呢?

@RequestMapping(value = "/insert", method = RequestMethod.POST)
public Void fucInsertLabel(@RequestParam(value = "name", required = true) String name,
@RequestParam(value = "level", required = true) int level,
@RequestParam(value = "status", required = true) int status,
@RequestParam(value = "parent_label", required = true) String parent_label,
@RequestParam(value = "description", required = false) String description
) {
labelServiseImpl.insertLabel(name,level,status,parent_label,description);
return null;
}
...全文
23430 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
路在脚下_ 2018-01-04
  • 打赏
  • 举报
回复
@RequestParam(value="name", defaultValue="1") String name
m0_37502844 2017-09-05
  • 打赏
  • 举报
回复
引用 1 楼 huanqingdong 的回复:
不传值报错,使用参数类型的默认值。requied=true,不传值报错,即抛出异常
谢谢回复.不过我想问的是怎么对这些可能存在可能不存在的参数做处理,由于java里面不支持默认参数,所以对于这种情况,我是用重载函数来将这些参数插入表中.但是这样就需要先判断有哪些参数存在哪些参数不存在.在有多个可选参数的情况下,这样处理异常麻烦.应该有很简单的办法.求助大佬
Hades__ 2017-09-05
  • 打赏
  • 举报
回复
别用 @RequestParam 接收 你用int level, int status, ........... 这样接收 如果传了 就接收 ,不传也不会报错 。
faith.huan 2017-09-04
  • 打赏
  • 举报
回复
不传值报错,使用参数类型的默认值。requied=true,不传值报错,即抛出异常
faith.huan 2017-09-04
  • 打赏
  • 举报
回复
不传值报错,使用参数类型的默认值。requied=true,不传值报错,即抛出异常

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧