前端想传入不定元素个数的数组,接口该如何开发?

前端想传入不定元素个数的数组,接口该如何开发?

需求是参加活动的人要报名,每个人的信息有姓名、手机号码等,问题是页面允许一次录入多个,然后调用接口。

我试着写入参如下就直接报错了,这种情况API该如何设计开发?

'signUp' => array(
'participants' => array(
'name' => array('name' => 'name', 'require' => true, 'min' => 1, 'max' => '100', 'desc' => '活动名称'),
'mobile' => array('name' => 'mobile', 'regex' => "/^1[34578]\d{9}$/", 'desc' => '手机号码'),
'sign_member_id' => array('name' => 'sign_member_id', 'require' => true, 'min' => 1, 'desc' => '主报名人ID'),
'program_id' => array('name' => 'program_id', 'require' => true, 'min' => 1, 'desc' => '活动ID'),
'gender' => array('name' => 'gender', 'require' => true, 'type' => 'enum', 'range' => array('0', '1', '-1'), 'desc' => '性别'),
'member_id' => array('name' => 'member_id', 'require' => true, 'min' => 1, 'desc' => '参与活动者的会员ID,如果是外带人员,这个ID为空'),
)
),
已邀请:

dogstar - PhalApi创始人

赞同来自:

最好是多次请求接口,每次请求添加一个。但在前端展示的效果,可以是一次录入多个。

sonysony

赞同来自:

自己已经解决,不过感觉也是投机取巧,还是希望官方能够支持这种需求呀,我的作法是:
 
1.前端传参数  student[0] = '{"name": "aaa"}', student[1] = '{"name": "bbb"}'
 
2.API参数设置:
'student' => array('name' => 'student', 'require' => true, 'type' => 'array', 'desc' => '学生'}
 
可以接收到数组  student,每一个元素是一个JSON字符串,转成JSON可以使用

要回复问题请先登录注册