0

我目前正在使用 api-plateform,到目前为止,它一直是一个很棒的工具。我想在我的数据存储到我的数据库之前添加一些验证器。

Api-platform 使用 IRI 而不是普通的 id(即使您可以更改此行为)。我想知道验证 IRI 的最佳方法是什么。

假设我收到例如“api/users/1”。我想确保这个IRI实际上是有效的(即id存在于表“user”中)。

我可以创建一个自定义验证器规则,该规则将调用该 IRI 并查看它是否返回有效结果,甚至拆分字符串以获取 id 和表,然后进行 sql 查询以检查它是否不为空。

但我认为这两种解决方案都不是很理想。你对我有什么线索吗?

非常感谢你 !

4

1 回答 1

0

API 平台会在反序列化过程中自动将 IRI 转换为引用实体的实例。

如果提供了无效的 IRI(格式错误或未找到),API 平台将自动抛出错误并返回 400(错误请求)HTTP 状态。

如果你想添加更高级的验证约束,你可以在根实体和相关实体(用户)上使用 Symfony 验证器。例如,参见@Valid约束

于 2018-05-14T22:33:22.357 回答