gpt4 book ai didi

php - (如何)过滤器/参数可以与 Apigility 中的数据库连接服务一起使用吗?

转载 作者:搜寻专家 更新时间:2023-10-31 21:32:32 24 4
gpt4 key购买 nike

作为敏捷 documentation ( REST Service Tutorial -> Create a REST Service -> [infobox] Code-Connected vs DB-Connected services ) 说,数据库连接服务的内置功能“更像是一种快速应用程序开发 (RAD) 或原型(prototype)制作工具。”

好吧,现在我正在开发一个非常小的应用程序,我想,这个原型(prototype)设计功能可能就足够了。但即使是这个小应用程序也需要一个简单的过滤/请求参数化,例如: name = 'foo' 的项目, 项目 id < x and id > y , 这样的东西。

数据库连接的服务是否提供过滤?如果是,如何处理?

最佳答案

为此,您将使用 zf-content-validation 包(参见 https://apigility.org/documentation/modules/zf-content-validation)。

使用内容验证模块,您可以在模块配置部分定义输入过滤器,并指定要使用哪个输入过滤器来验证您的服务请求。

例如(来自文档):

'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,
),
),
),

此配置将验证对 HelloWorld Controller 的请求将包含一个“名称”参数,该参数是一个字符串,并且它会另外为您修剪空格。如果您的请求具有查询参数 ?name=foo,您的 Controller 将获得 foo 作为名称参数。或者,如果您的请求不包含名称参数,您将收到一个 ApiProblem 响应,指示该请求未通过验证。

关于php - (如何)过滤器/参数可以与 Apigility 中的数据库连接服务一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27695223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com