REST Api, wie finde ich die "Benutzerdefinierten" Felder?



  • Im openapi.json ist ja das Standardschema definiert.
    Mit der Möglichkeit bei den Personen+Gruppentabellen eigene Felder zu definieren passt nun das Schema nicht mehr zur jeweiligen Realität.

    Gibt es eine Möglichkeit im API zu ermitteln, welches die zusätzlichen Felder sind, die nicht in der API Doku enthalten sind?


  • ChurchToolsMitarbeiter

    Mit /api/fields geht das.
    Die ist auch dokumentiert.



  • @davidschilling sagte in REST Api, wie finde ich die "Benutzerdefinierten" Felder?:

    Mit /api/fields geht das.
    Die ist auch dokumentiert.

    Jein,
    dort erhalte ich alle Felder zurück, nicht nur die zusätzlichen.
    Es hat auch kein Flag welches im Api sagt ob es ein Standardfeld ist, oder ein Userdefined.

    Dies wäre hilfreich um die zusätzlichen Felder gesondert behandeln zu können, da diese in generierten Clientlibraries fehlen


  • ChurchToolsMitarbeiter

    @aschild es sind ja auch alle einfach DB-Felder die in den Stammdaten konfiguriert werden. Bis auf ein paar wenige Ausnahmen.

    Das Feld Straße verhält sich in der Api nicht anders als ein Feld Straße2 das du selbst anlegst.

    Im neuen Profil arbeiten wir z.B. genau mit dieser API.



  • @davidschilling Ja, das ist schon klar.

    Mein Problem ist folgendes:

    • Die Client Klassen werden automatisch auf Basis der openapi.json Definition erstellt, somit habe ich im Client alle Standardfelder in meinen Klassen
    • Mit dem /api/fields erhalte ich ALLE Felder zurück
    • Nun sollte ich für die "Pro Instanz Klassen" herausfinden, welches davon Standardfelder sind, und welches zusätzlich sind, denn diese zusätzlichen Felder werden dann in einer neuen Klasse für diese CT Instanz in einer Vererbten Klasse hinzugefügt

    So wie ich das sehe, muss ich aktuell dazu entweder eine Liste der Standardfelder manuell führen, oder via Reflection/Classinspection schauen welche Felder in der Basisklasse sind.

    Beides nicht wirklich coole Optionen, aber wenn das Api die Informationen nicht hat, dann bleibt mir wohl nicht's anderes übrig.

    LG André


Log in to reply