我有过滤器,但它们不适用于数据
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use ApiPlatform\Core\Annotation\ApiResource;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\Common\Collections\Collection;
use ApiPlatform\Core\Annotation\ApiFilter;
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter;
/**
* @ORM\Entity(repositoryClass="App\Repository\HostRepository")
*
* @ApiResource(
* routePrefix="/profile"
* )
*
* @ApiFilter(SearchFilter::class, properties={"id": "exact"})
*
*/
class Host
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
.....
我发送了这样的请求 http://localhost/api/profile/hosts?id=1
所有答案都返回给我(包括id = 1) 与“名称”和其他参数相同的结果
可能是什么问题?
答案 0 :(得分:0)
此信息未在文档中指出。但是,只有在文件api_platform.yaml
中指定后,过滤器才能起作用framework:
serializer: { enable_annotations: true }
正如注释中正确指出的那样,在配置部分的文档中对此进行了提及:
api-platform.com/docs/core/serialization#configuration