我有一个采用多个输入值的API。其中之一是约会。 发送日期后,一切都很好。 但是,当用户未发送日期时,此错误消息显示错误500:
无效的日期时间“某些无效数据”,预期格式为Y-m-d \ TH:i:sP。
所以我想检查发送的数据是否具有所需的格式。
但是我不了解事情的进展,希望您能提供帮助。
这就是我所拥有的
/**
*
* @Rest\Post(
* path = "/signup",
* name = "api_users_add"
* )
* @Rest\View(StatusCode=201, serializerGroups={"user_detail"})
* @ParamConverter(
* "user",
* converter="fos_rest.request_body",
* options={"deserializationContent"={"groups"={"Deserialize"}}},
* )
* @ParamConverter(
* "profile",
* converter="fos_rest.request_body",
* options={"deserializationContent"={"groups"={"Deserialize"}}},
* )
*/
public function postUserAction(Request $request, User $user, Profile $profile)
{
if (!preg_match("^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$",$profile->getBirth())){
return new JsonResponse([
'success' => false,
'message' => "Date d'anniversaire au mauvais format"
]);
}
}
但是实际上,我从来没有进入过这种情况,错误500之前已经触发过。
我想这与Profile中的@ParamConverter有关,当出生日期不是DateTime时,后者无法“反序列化”。
事情是,我想检查发送的内容(就像我对我的状况所做的那样),以避免发生此内部错误。但是我找不到我的代码在哪里处理。
感谢您的帮助。
考虑到这一点:symfony doc for Param converter fos rest bundle
我要寻找的是找到指定了validateErrors的位置。