ArztAPI logo

Filterung & Paginierung

Filterung

Unsere API unterstützt leistungsstarke Filterfunktionen, die von pg_graphql bereitgestellt werden. Sie können die meisten Felder mithilfe verschiedener Operatoren filtern (z.B. eq, neq, gt, lt, in, like usw.).

Beispiel: Finden Sie Professionals in einer bestimmten Stadt.

query ProfessionalsInCity {
  professionalsCollection(
    filter: {
      facilitiesCollection: {
        some: {
          location: { city: { eq: "Berlin" } }
        }
      }
    }
  ) {
    edges {
      node {
        id
        first_name
        last_name
      }
    }
  }
}

Detaillierte Informationen zu allen verfügbaren Filteroptionen finden Sie in der pg_graphql-Dokumentation zu Filtern.

Paginierung

Sammlungen unterstützen cursor-basierte Paginierung mithilfe der Argumente first und after.

  • first: Int: Gibt die Anzahl der zurückzugebenden Elemente an.
  • after: String: Nimmt einen Cursor (erhalten von pageInfo.endCursor oder einem edge.cursor einer vorherigen Abfrage), um den nächsten Satz von Elementen abzurufen.

Um Paginierungsinformationen zu erhalten, fügen Sie pageInfo { endCursor, hasNextPage } in Ihre Sammlungsabfrage ein.

query PaginatedProfessionals {
  professionalsCollection(first: 10) {
    edges {
      node {
        id
        first_name
      }
      cursor
    }
    pageInfo {
      endCursor
      hasNextPage
    }
    totalCount
  }
}
# Um die nächste Seite abzurufen:
# professionalsCollection(first: 10, after: "WERT_DES_ENDCURSOR_AUS_VORHERIGER_ABFRAGE") { 
#   id
#   first_name
#   last_name
#   ...
# }