我应该如何使用Zend Framework处理XML / JSON REST请求,从而最大限度地减少验证逻辑

时间:2011-11-24 06:59:01

标签: php zend-framework

我使用Zend_Framework编写了一个小型的restful Web服务。我想支持以下内容;

  1. JSON请求
  2. XML请求
  3. 普通HTML发布请求
  4. 通过上下文切换助手完成上下文切换,所以没有问题。

    但是,不是编写逻辑来验证和过滤每个请求类型的输入,而是想知道我是否应该执行以下操作之一;

    1. 将Post请求的JSON / HTTP转换为XML,并针对XSD和Zend_Validate进行验证*
    2. 使用Zend_Json将XML / HTTP表单POST请求转换为JSON并使用和Zend_Validate验证解码的json *
    3. 我的问题是,我能实现的最佳方法是什么?a)允许我支持多种请求类型,但b)意味着我最终不会为每种不同的请求类型编写逻辑来进行验证?

      我发现XML方法也是我倾向于的,但是想知道其他人(tm)是如何实现这一点的。

1 个答案:

答案 0 :(得分:1)

我不确定它是否对您的情况有意义,但如果您要接受相同服务的不同类型的输入,您可以为您拥有的每种服务方法创建一个模型,使用每个都是JSON,XML或HTTP输入,然后验证存储在模型中的数据。

Matthew Weier O'Phinney在Using Zend_Form in Your Models上有一篇很好的帖子,你可以用它来填充模型时验证数据。你可以更好地调整这个想法以满足你的需求。

但在我看来,如果您使用每种输入格式使用预期数据填充公共对象,则可以只过滤并验证一次。