• Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Benennungen der API manchmal nicht ganz konsistent

    ChurchTools Schnittstellen
    2
    5
    283
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bwl21
      last edited by bwl21

      Sorry, dass ich da ein bisschen rumnörgle

      Die Benennung des Rest-Api ist m.E. nicht immer ganz konsistent.

      e2469266-b5d1-47e9-af90-f3710abdc125-image.png

      Aus dem Bauch heraus würde ich das so vorschlagen (Persons als Plural wie sonst auch).

      • /persons/masterdata
      • /persons/masterdata/grouptyperoles
      • /persons/masterdata/grouptyperoles/{roleId}

      in dem Zuge stolpere ich immer wieder über

      2f2cf84f-bb0d-430e-915d-d88eef24ef97-image.png

      Der sieht immer so aus. als ob man da die Eigenschaften einer Person posten könne ...

      Ich weiß, das ist schwierig das noch gerade zu biegen, aber offensichtlich habt ihr /masterdata/person ja auch schon zurückgezogen.

      Vermutlich wird man hier ein Lifecycle management brauchen, und umbenannte API für eine Übergangsfrist parallel unterstützen müssen. Aber solche Inkonsistenten sollte man schon ausschwitzen.

      1 Reply Last reply Reply Quote 0
      • davidschillingD
        davidschilling ChurchToolsMitarbeiter
        last edited by

        Es gibt tatsächlich ein Schema wann etwas plural und wann etwas singular ist.

        • /persons liefert alle Personen
        • /persons/1 von allen Personen liefere nur die erste zurück
        • /person/masterdata hier bekommen wir die stammdaten aus einem modul und zwar dem Personen modul. Mehrzahl wäre hier komisch, da sich unterhalb von personen keine stammdaten verbergen
        • /persons/properties das ist nicht ganz optimal, aber immer noch besser als /person/properties und es folgt dem Schema, dass wir die properties von allen Personen bekommen
        B 1 Reply Last reply Reply Quote 0
        • B
          bwl21 @davidschilling
          last edited by

          @davidschilling Danke für deine Antwort. Bitte versteht das nicht falsch als pingelige Kritik. Ich denke aber viel über Namenskonventionen nach (in vielen jahren habe ich gelernt Namenskonvention ist Archtekturarbeit und nicht überflüssiges Beiwerk), daher fallen mir manche Dinge auf. In meiner Erfahrung sind Abweichungen von Konventionen zeitraubend, fehleranfällig und damit letztlich doch teuer. Dies um so mehr je komplexer ein System ist.

          /person/masterdata hier bekommen wir die stammdaten aus einem modul und zwar dem Personen modul. Mehrzahl wäre hier komisch, da sich unterhalb von personen keine stammdaten verbergen

          Genau, deshalb müsste es persons/masterdaten heissen, denn es sind die Masterdaten des persons (Personen) - Moduls. Es sind nicht die Masterdaten einer einzelnen Person. Dann wäre es konsistent zu persons/properties, welches Eigenschaften des persons liefert.

          /persons/1 von allen Personen liefere nur die erste zurück

          /persons/1liefert die person mit der ID 1, nicht unbedingt die erste - richtig?

          davidschillingD 1 Reply Last reply Reply Quote 0
          • davidschillingD
            davidschilling ChurchToolsMitarbeiter @bwl21
            last edited by

            @bwl21 sagte in Benennungen der API manchmal nicht ganz konsistent:

            Genau, deshalb müsste es persons/masterdaten heissen, denn es sind die Masterdaten des persons (Personen) - Moduls. Es sind nicht die Masterdaten einer einzelnen Person. Dann wäre es konsistent zu persons/properties, welches Eigenschaften des persons liefert.

            Da sind wir dann unterschiedlicher Meinung. Für mich ist an der Stelle person ein Domain Type und der ist erstmal in der Einzahl außer es handelt sich um mehrere. Da geht es um das Konzept der Person und nicht um eine oder viele.

            Und ja ich stimme dir zu, dass naming wehr wichtig ist.

            B 1 Reply Last reply Reply Quote 0
            • B
              bwl21 @davidschilling
              last edited by

              @davidschilling

              @davidschilling sagte in Benennungen der API manchmal nicht ganz konsistent:

              Da sind wir dann unterschiedlicher Meinung. Für mich ist an der Stelle person ein Domain Type und der ist erstmal in der Einzahl außer es handelt sich um mehrere. Da geht es um das Konzept der Person und nicht um eine oder viele.

              Ja das kann ich nachvollziehen und ändere da gerne (meine ohnehin nur mäßg relevante) Meinung. Danke für die Erläuterung.

              Dann müsste man vielleicht auch masterdata/person zu person/masterdata/roles machen.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post