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.