微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何验证 api 平台中的相关字段?

如何解决如何验证 api 平台中的相关字段?

我有一个问题,也许有人可以帮助我。我试图找到答案,但没有结果。

问题:

我有2个实体评论和视频,评论属于视频(多对一)。当向 /comments 发送不存在视频的创建请求时,我收到下一个错误

    "type": "https://tools.ietf.org/html/rfc2616#section-10","title": "An error occurred","detail": "Item not found for resource \"App\\Entity\\Video\" with id \"2\".",

和状态码 400。

我想改变这种行为并收到下一个回复

{
    "type": "https://tools.ietf.org/html/rfc2616#section-10","violations": [
        {
            "propertyPath": "video","message": "Item not found for resource \"App\\Entity\\Video\" with id \"2\".","code": "c1051bb4-d103-4f74-8988-acbcafc7fdc3"
        }
    ]
}

和状态 422。

问题:

如何验证相关字段? 我已经尝试创建自定义验证器,但 /vendor/api-platform/core/src/Serializer/AbstractItemnormalizer.PHP 在我验证之前返回错误

如果您对此有任何解决方案,我会非常高兴。不管怎样,谢谢!

解决方法

https://symfony.com/doc/current/reference/constraints/Valid.html 可能会有所帮助:您只需添加验证器 @Assert\Valid 来检查孩子是否存在

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。