我目前正在使用api-plateform,这是迄今为止一个很棒的工具。 在我的数据存储到我的数据库之前,我想添加一些验证器。
Api-platform适用于IRI而不是普通ID(即使您可以更改此行为)。我想知道什么是验证IRI的最佳方法。
我们假设我收到了例如" api / users / 1"。我想确保这个IRI实际上是有效的(即表中存在id" user")。
我可以创建一个自定义验证器规则,该规则可以调用该IRI并查看它是否返回有效结果,或者甚至拆分字符串以获取id和表,然后进行sql查询以检查它是否为#s不是空的。
但我认为这两种解决方案都不是很理想。你有什么线索吗?
非常感谢!
答案 0 :(得分:0)
API平台将在反序列化过程中自动将IRI转换为引用实体的实例。
如果提供了无效的IRI(格式错误或未找到),API平台将自动抛出错误并返回400(错误请求)HTTP状态。
如果要添加更高级的验证约束,可以在根实体和相关实体(用户)上使用Symfony验证程序。例如,请参阅@Valid
constraint。