通过API获取镜头时,是否有可能(或找到一种方法)应用滤镜,即;
http://my-site.test/nova-api/my-model/lens/my-lens?filter=MyFilter
如果有人知道如何添加多个过滤器的功能也将很酷
答案 0 :(得分:5)
我想出了办法,例如,过滤器是在$request->filters
中进行base64编码后通过的;
[
{"class":"App\\Nova\\Filters\\MyFilter","value":1}
]
假设这是您的“过滤器”有效负载,您对base64进行了编码;
Ww0KICAgICAgICB7ImNsYXNzIjoiQXBwXFxOb3ZhXFxGaWx0ZXJzXFxNeUZpbHRlciIsInZhbHVlIjoxfQ0KICAgIF0=
然后您将通过的URL将是
http://my-site.test/nova-api/my-model/lens/my-lens?filters=Ww0KICAgICAgICB7ImNsYXNzIjoiQXBwXFxOb3ZhXFxGaWx0ZXJzXFxNeUZpbHRlciIsInZhbHVlIjoxfQ0KICAgIF0=
答案 1 :(得分:0)
private function filterize($id)
{
$filter = base64_encode('[{"class":"App\\\\Nova\\\\Filters\\\\Ticket","value":"'.$id.'"}]');
return trim($filter);
}
然后只用
http://my-site.test/nova-api/my-model/lens/my-lens?filter={!! filterized_value !!}