Ich hatte folgendes Problem: Wie kann ich gescheit sämtliche Pfostierungen von mir in einer bestimmten Lassmich Gemeinschaft als HTML Format runterladen? Nachdem ich geguckt habe und nichts gefunden habe, womit das geht habe ich mir halt gedacht “Dann mache ich es halt selber”. Habe jetzt ein nicht besonders schönes, aber demnächst auch funktionales Skript, mit dem ich genau das tun kann. Das war das erste mal, wo ich auch nur irgendwas mit externen APIs gemacht habe und es ist ein ziemlich kühles Gefühl, wenn man dann tatsächlich versteht, was man da macht und es sogar funktioniert (und nachdem man verstanden hat, wie die Lassmich API funktioniert, war die Dokumentation auch sehr gut verständlich).

Sobald das ganze ein bisschen Ausgearbeitet ist werde ich das dann auch veröffentlichen.

  • BlueBockser
    link
    fedilink
    Deutsch
    arrow-up
    24
    ·
    2 days ago

    Bei dem Begriff “externe API” kriege ich Puls - meine Erfahrung im beruflichen Umfeld:

    • Antwortkörper entspricht nicht der Spezifikation
    • Bei Fehlern ein HTTP Status 200 mit zusätzlichem Status im Antwortkörper
    • Zwischendurch ein paar 5XX Fehler eingestreut
    • Ein 504 Fehler bedeutet “ist zwar erfolgreich, aber die Auszeit unseres Lastbalancierers ist zu niedrig eingestellt”
    • macniel@feddit.org
      link
      fedilink
      arrow-up
      12
      ·
      2 days ago

      Antwortkörper entspricht nicht der Spezifikation

      Das ist immer ein Heidenspass wenn die Spezifikation mit dem (konsumierenden) Team bereits abgestimmt wurde…

      Bei Fehlern ein HTTP Status 200 mit zusätzlichem Status im Antwortkörper

      HTTP Statuskodes sind schwierig, mkay?

      • Majoran@feddit.org
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        HTTP Statuskodes sind schwierig, mkay?

        Am irritierensten finde ich ja bis heute, dass HTTP Statuscodes Strings sind und keine Integer. Das ganze Protokoll scheint mir ein elaborierter Trollversuch zu sein.

        • macniel@feddit.org
          link
          fedilink
          arrow-up
          8
          ·
          2 days ago
          HTTP/1.1 200 OK
          Content-Type: application/json; charset=utf-8
          
          
          {
              "status": "error",
              "reason": "I can't do this anymore",
              "content": []
          }
          
          • Klingenrenner@feddit.org
            link
            fedilink
            arrow-up
            2
            ·
            1 day ago

            Noch besser ist HTTP 200 OK mit einem {"status":404}. Du kennst den Scheiss Code aber sendest ihn nicht an der richtigen Stelle?

      • Björn@swg-empire.de
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        Kollege von mir hat immer 418 in unserer API geworfen wenn er sonst keinen passenden Code finden konnte.

        Aber das schlimmste war, als ich sporadisch 502 bekommen habe und es literarisch Jahre gedauert hat bis ich den Fehler reproduzieren konnte und herausfand, dass es am beschissenen Cisco Router lag, die aber nicht mit nem Update rausrücken wollten wegen Geldgier oder so.

    • aaaaaaaaargh@feddit.org
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      Mein Favorit: der externe Dienstleister des Betreibers ändert irgendwas an der Spezifikation und sagt niemandem bescheid.