我已经使用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.
有什么建议吗?
谢谢。