Este guia descreve como aplicar filtros às consultas na API, permitindo que você recupere dados baseados em critérios específicos. A API oferece suporte para filtros em campos diretos e em campos relacionados, utilizando operadores específicos.
Os filtros são aplicados a endpoints que retornam coleções de itens, permitindo que você selecione itens com base em condições definidas.
{
"filters": [
{
"name": "field_name",
"op": "operation",
"val": "value"
}
]
}
eq
para igual, lt
para menor que, etc.). Para buscar todos os itens onde age
é maior que 30:
{
"filters": [
{
"name": "age",
"op": "gt",
"val": 30
}
]
}
A API suporta as seguintes operações:
LIKE
(uso de curingas %
e _
). Para buscar itens onde age
é maior que 30 e name
começa com "John":
{
"filters": [
{
"name": "age",
"op": "gt",
"val": 30
},
{
"name": "name",
"op": "like",
"val": "John%"
}
]
}
A API permite que você aplique filtros em campos relacionados, utilizando os operadores any
e has
.
any
O operador any
é usado para filtrar resultados com base em relações one-to-many
ou many-to-many
, retornando registros que tenham pelo menos um item relacionado que satisfaça o filtro especificado.
any
em uma Relação one-to-many
Para buscar todos os itens onde a relação posts_relation
possui pelo menos um item com mais de 100 likes:
{
"filters": [
{
"name": "posts_relation",
"op": "any",
"val": {
"name": "likes",
"op": "gt",
"val": 100
}
}
]
}
has
O operador has
é utilizado para filtrar objetos baseados em uma relação one-to-one
ou many-to-one
, onde o objeto relacionado deve satisfazer os critérios do filtro.
has
em uma Relação many-to-one
Para buscar todos os itens onde a relação post_relation
está associada a um item publicado em 2023:
{
"filters": [
{
"name": "post_relation",
"op": "has",
"val": {
"name": "publication_year",
"op": "eq",
"val": 2023
}
}
]
}
any
em Relações many-to-many
Para buscar todos os itens onde a relação books_relation
possui pelo menos um item categorizado como "Ficção":
{
"filters": [
{
"name": "books_relation",
"op": "any",
"val": {
"name": "genre",
"op": "eq",
"val": "Fiction"
}
}
]
}
A aplicação de filtros na API é uma maneira eficaz de personalizar consultas, permitindo a recuperação de dados que atendam exatamente às necessidades do usuário. O uso de any
e has
possibilita a construção de consultas que atravessam as relações entre diferentes entidades, proporcionando flexibilidade e poder na consulta de dados.