我应该如何处理XML/JSON REST请求使用Zend框架最小化验证逻辑


How should I process XML/JSON REST Requests using Zend Framework minimizing validation logic

我使用Zend_Framework编写了一个小的rest式web服务。我想支持以下内容;

    <
  1. JSON请求/gh><
  2. XML请求/gh>
  3. 普通HTML Post请求

上下文切换是通过上下文切换助手完成的,所以没有问题。

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

  1. 将JSON/HTTP For Post请求转换为XML并对XSD和Zend_Validate进行验证*
  2. 使用Zend_Json将XML/HTTP Form POST Request转换为JSON并使用and Zend_Validate*验证解码后的JSON

我的问题是,我可以实现的最佳方法是什么a)允许我支持多种请求类型,但b)意味着我最终不会为每个不同的请求类型编写逻辑来验证?

我发现XML方法也是我正在学习的方法之一,但是我想知道其他人(tm)是如何做到这一点的。

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

Matthew Weier O'Phinney有一篇关于在你的模型中使用Zend_Form的好文章,你可以用它来验证你填充模型的数据。你可以把这个主意改得更适合你的需要。

但是在我看来,如果您使用每种输入格式来用期望的数据填充一个公共对象,那么您可以只过滤和验证它一次。