Apigility InputFilter注入

时间:2016-08-01 14:18:14

标签: apigility

鉴于我是这样发布到端点的:

POST http://foo.com/user/:user_id/articles

{
  "content": "some text"
}

当我在配置中配置Validator时,我正在努力寻找如何从路由中注入:user_id以及"内容"从身体。所以我的验证员试图验证是否"内容"如果没有:user_id。

将路径参数中的ID(甚至是理想的对象)与正常的主体$ data有效负载一起注入验证器的适当的Apigility方法是什么?

非常感谢

1 个答案:

答案 0 :(得分:1)

据我所知,apigility无法验证路由参数。 我个人在资源或控制器中验证它们。 那样我可以做一些更复杂的验证,比如这个id存在吗?

如果您想要一个对象作为路由参数,您可以尝试序列化该对象并将其放入您的参数中。 但我会建议不要这样做。你甚至会相信外部派对会为你提供整个对象吗? 如果您需要一些用户信息,可以查看JWT或类似技术。 JWT是一个授权令牌,它还包含任何数据(基于json)。

现在,任何身体障碍都可以被验证。 在apigility ui中,您可以转到字段,并添加要在其中验证的字段(或者为了简单起见,它应该是所有字段)。 然后,您可以在此处指定过滤器和验证器。甚至是您在zf2应用程序中配置的自定义。