CakePHP Crud API过滤字段

时间:2016-09-29 21:42:01

标签: cakephp crud

我已经使用CakePHP v2.x框架编写了一个API。我正在使用Cake of Cake Crud插件。我需要默认为所有回复隐藏敏感数据字段,例如:

User.stripe_api_key

我按如下方式设置了我的组件数组:

public $components = [

        'RequestHandler', 
        'Crud.Crud' => [

            'listeners' => [        
                'Api',          
                'ApiTransformation' => [

                    'changeNesting' => true, 
                    'changeKeys' => false, 
                    'changeTime' => true, 
                    'castNumbers' => true,  
                ],

                'ApiFieldFilter' => [
                    'allowNoFilter' => true,
                    'blacklistFields' => ['User.stripe_api_key']
                ],
                'ApiPagination'
            ]
        ]
];

这会破坏我的API,因为我的回复现在返回500并且:

"name": "Please specify which fields you would like to select",

根据文档,可以通过以下方式解决:

// Allow request without ?fields=
'allowNoFilter' => true,

无论此值设置为true还是false,启用ApiFieldFilter时回复始终为500.

有什么建议吗?

谢谢。

0 个答案:

没有答案