Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP REST API中的输入数据验证_Php_Api_Validation_Rest_Cakephp - Fatal编程技术网

CakePHP REST API中的输入数据验证

CakePHP REST API中的输入数据验证,php,api,validation,rest,cakephp,Php,Api,Validation,Rest,Cakephp,我正在使用CakePHP开发RESTAPI。问题在于验证作为输入参数发送到API的数据。在他们提到的问题上。但是如何为RESTAPI实现它呢 如果我在app/Model/Table.php中添加类似这样的验证,我希望: public $validate = array( 'email' => 'email' ); 然后,当我的用户发出请求时,myapi.com/resource?email=abc123 状态:400 { "message": "Invalid Para

我正在使用CakePHP开发RESTAPI。问题在于验证作为输入参数发送到API的数据。在他们提到的问题上。但是如何为RESTAPI实现它呢

如果我在
app/Model/Table.php
中添加类似这样的验证,我希望:

public $validate = array(
    'email' => 'email'
); 
然后,当我的用户发出请求时,
myapi.com/resource?email=abc123

状态:400

{
    "message": "Invalid Parameter",
    "url": "/resource"
}
基于,在控制器中,您可以使用:

$this->Model->set($this->request->data);

if (!$this->Model->validates()) {
    $this->response->statusCode(400);
    $this->set('_serialize', array(
       'message' => 'Invalid Parameter',
       'url' => '/resource',
    ));
}

感谢它完成了任务,但是
$this->set('u serialize',array('message'=>'无效参数','url'=>'/resource',)在输出中给出
null