【发布时间】:2021-10-14 22:27:38
【问题描述】:
'methods' => ['POST', 'GET'],
'args' =>
[
'users' =>
[
'type' => 'array',
'minItems' => 1,
'items' =>
[
'type' => 'object',
'properties' =>
[
'user_login' =>
[
'type' => 'string',
'required' => true,
'validate_callback' => function($user_login)
{
error_log("login validation");
}
],
'user_email' =>
[
'type' => 'string',
'required' => false,
'validate_callback' => function($user_email)
{
error_log("email validation");
}
]
]
]
]
],
'callback' => function($request)
{
return $request->get_body_params();
}
]
按原样,每个请求都失败了,说users 数组是空的。 ~~如果我注释掉```minItems`行,请求成功,我可以在回调中获取参数;但是,两个错误日志都不会触发,因此我无法验证传入的数据。我怀疑主要问题是导致 minItems 失败的原因,因为 API 出于某种原因认为没有数据,因此无需验证,直到主回调触发。~~
编辑:minItems 现在可以工作了。其他方面的问题是相同的:在主回调触发之前,args 被视为空,此时它们被正确填充。
【问题讨论】: