我正在使用Symfony和FOS Rest软件包开发REST API。我的一个实体有一个日期字段。我也在用behat进行测试,我的问题是当我尝试测试此操作的后期操作时,由于Datetime字段的验证,我总是得到400错误。 这是字段定义:
->add(
'scheduledAt', DateTimeType::class, [
'label' => 'fields.scheduled_at',
'required' => false,
'format' => 'Y-m-d h:i'
])
这就是behat测试:
When I send a POST request to "/api/cases/1/actions" with body:
"""
{
"comments": "Comments 3",
"action": 1,
"scheduledAt": "2017-01-01 17:00:00"
}
"""
这总是以400响应结束
{
"code":400,
"message":"Validation Failed",
"errors":{"children":{"comments":[],"scheduledAt":{"errors":["This value is not valid."],"children":{"date":{"children":{"year":[],"month":[],"day":[]}},"time":{"children":{"hour":[],"minute":[]}}}},"action":[]}}}
答案 0 :(得分:1)
如果您想传递请求,请将格式更改为'format' => 'Y-m-d h:i:s'
,或者在没有秒部分的情况下通过POST日期发送。
答案 1 :(得分:0)
我发现问题,它的日期格式应该是这样的:
'format' => 'yyyy-MM-dd HH:mm'