Suchen

Um eine Suchabfrage auszuführen, verwenden Sie eine HTTP POST-Methode mit dem API-Endpunkt _find, der den Datenbanknamen und das Layout sowie zusätzliche Informationen angibt, um Abfragefelder und Kriterien, Sortierfolge, Startdatensatz und Anzahl der Datensätze anzugeben. Sie können zudem Ausschnittinformationen angeben, um die Anzahl der zurückgegebenen Bezugsdatensätze zu begrenzen.

HTTP-Methode

POST

URL

/fmi/data/version/databases/datenbankname/layouts/layoutname/_find

version – die angeforderte FileMaker Data API-Version, kann v1, v2 oder vLatest sein

  • version 1 (v1) - die Struktur für zurückgegebene Ausschnittdaten basiert auf der Ansichtseinstellung (Formularansicht oder Tabellenansicht) des angegebenen Layouts.

    • Formularansicht – gibt alle Bezugsdatensätze zurück

    • Tabellenansicht – gibt den ersten Bezugsdatensatz zurück

      Hinweis  Durch die Änderung der Ansichtseinstellung wird die Ausschnittdatenstruktur für den zurückgegebenen Wert geändert.

  • version 2 (v2) – die Struktur für zurückgegebene Ausschnittdaten basiert auf der Formularansicht.

  • letzte Version (vLatest) – das Verhalten basiert auf der letzten Version des API.

datenbankname – der Name der bereitgestellten Datenbank

layoutname – das Layout, das als Kontext für die Suchabfrage verwendet werden soll

HTTP-Header

Content-Type: application/json

Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt

Parameter

Eine Abfrage in JSON-Format, die Felder und Suchkriterien angibt. Sie können optionale Parameter verwenden, um Ausschlussabfragen, die Sortierreihenfolge, den Anfangsdatensatz (offset), die Anzahl der Datensätze (limit) und die Ausschnitte zur Begrenzung der Anzahl der zurückgegebenen Bezugsdatensätze anzugeben. Die Parameter „offset“, „limit“ und „sort“ wirken auf Datensätze, die sich in der Tabelle des Layouts befinden, und nicht auf Bezugsausschnitts-Datensätze. Um die Anzahl der Datensätze und der anzuzeigenden Zeilen in einer Bezugsmenge zu begrenzen, geben Sie die Parameter offset.ausschnittname und limit.ausschnittname an.

Wenn Sie die Antwortdaten im Kontext eines anderen Layouts wünschen, verwenden Sie den Parameter layout.response.

Beispiel:

Kopieren
{
  "query":[
    {"Group": "=Chirurg"},
    {"Ort" : "NY", "omit" : "true"}],
  "sort":[
    {"fieldName": "Ort","sortOrder": "ascend"},
    {"fieldName": "Vorname", "sortOrder": "ascend"} ]
}

Beispiel mit Versatz, Limit und Ausschnitten:

Kopieren
{
  "query":[
    {"Group": "=Chirurg"},
    {"Ort" : "NY", "omit" : "true"}],
  "portal": ["Ausschnitt1","Ausschnitt2"],
  "limit": "10",
  "offset": "1",
  "offset.Ausschnitt1": "1",
  "limit.Ausschnitt1": "5",
  "layout.response": "Ärzte"
}

Sie können FileMaker-Scripts als Teil dieser Abfrage ausführen, indem Sie die Parameter script.prerequest, script.presort und script im Hauptteil der Abfrage angeben. Siehe FileMaker-Scripts ausführen.

Antwort

Die Datensatzdaten in JSON-Format und ein Meldungsarray, das den Fehlercode 0 zeigt.

Beispiel:

Kopieren
{
  "response": {
    "data": [ 
    ...  
    ]
  },
  "messages": [{"code":"0","message":"OK"}]
}

Siehe Fehlerantworten.

Hinweise 

  • Das Sortieren und Zurückgeben von Datensätzen kann zeitintensiv sein. Verringern Sie die Datensatz-Downloadzeit, indem Sie die Anzahl der Felder auf dem angeforderten Layout verringern und Felder weglassen, die Kommentare enthalten.

  • Variablenfelder können Sie nicht als Suchkriterien angeben. Wenn Sie eine Variable in einer Suchabfrage angeben, erhalten Sie eine Fehlermeldung. Setzen Sie den Variablenfeldwert stattdessen vor der Suchabfrage. Siehe Setzen von Variablenfeldwerten.