Php (如何)过滤器/参数可以与Apigility中的DB连接服务一起使用?
正如Apigility(Php (如何)过滤器/参数可以与Apigility中的DB连接服务一起使用?,php,rest,zend-framework2,filtering,laminas-api-tools,Php,Rest,Zend Framework2,Filtering,Laminas Api Tools,正如Apigility(REST服务教程->创建REST服务->[infobox]代码连接vs DB连接服务)所说,DB连接服务的内置功能“更像是一个快速应用程序开发(RAD)或原型工具。” 嗯,现在我正在开发一个非常小的应用程序,我想,这个原型功能可能就足够了。但即使是这个小应用程序也需要一个简单的过滤/请求参数化,例如:items byname='foo',items byidy,诸如此类 DB连接服务是否提供过滤功能?如果是,如何处理此问题?为此,您将使用zf内容验证包(请参阅) 使用内容
REST服务教程->创建REST服务->[infobox]代码连接vs DB连接服务
)所说,DB连接服务的内置功能“更像是一个快速应用程序开发(RAD)或原型工具。”
嗯,现在我正在开发一个非常小的应用程序,我想,这个原型功能可能就足够了。但即使是这个小应用程序也需要一个简单的过滤/请求参数化,例如:items byname='foo'
,items byidy
,诸如此类
DB连接服务是否提供过滤功能?如果是,如何处理此问题?为此,您将使用zf内容验证包(请参阅) 使用内容验证模块,您可以在模块配置部分定义输入筛选器,并指定用于验证服务请求的输入筛选器 例如(从文档中): 此配置将验证对HelloWorld控制器的请求是否包含字符串形式的“name”参数,并为您另外修剪空白。如果您的请求具有查询参数
?name=foo
,则控制器将获得name参数的foo
。或者,如果您的请求不包含name参数,您将得到一个ApiProblem响应,指示该请求未通过验证
'zf-content-validation' => array(
'Application\Controller\HelloWorld' => array(
'input_filter' => 'Application\Controller\HelloWorld\Validator',
'POST' => 'Application\Controller\HelloWorld\CreationValidator',
),
),
'input_filter_specs' => array(
'Application\Controller\HelloWorldGet' => array(
0 => array(
'name' => 'name',
'required' => true,
'filters' => array(
0 => array(
'name' => 'Zend\Filter\StringTrim',
'options' => array(),
),
),
'validators' => array(),
'description' => 'Hello to name',
'allow_empty' => false,
'continue_if_empty' => false,
),
),
),