SQL Anweisungen vs. API

Thema wurde von Anonymous, 29. Februar 2024 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    656
    Danke erhalten:
    92
    Danke vergeben:
    270
    #1 Anonymous, 29. Februar 2024
    Zuletzt bearbeitet: 29. Februar 2024
    Hallo,

    ich habe eine Verständnisfrage.

    SQL Anweisungen vs. API:

    Hinter jeder API Anfrage steht doch auch ein SQL Befehl, oder?

    (Link nur für registrierte Nutzer sichtbar.)

    könnte man doch auch über eine SELECT-Datenbank Anfrage machen.

    Wenn ich intern über ein kleines PHP-Script Datenbankabfragen mache, oder auch in der DB Daten ändern möchte, ist es doch letztlich egal, ob ich das über die API-Schnittstelle mache oder über SQL Anweisungen, oder? Beide Möglichkeiten machen doch dasselbe, senden denselben SQL Befehl.

    Gruß
     
  2. markus_wick

    markus_wick Erfahrener Benutzer

    Registriert seit:
    10. Oktober 2018
    Beiträge:
    978
    Danke erhalten:
    218
    Danke vergeben:
    153
    Im Grunde denke ich, ja, hinter jeder API-Anfrage steht ein SQL-Befehl. Fast. Hinter manchen API-Anfragen stehen aber auch mehrere SQL Befehle, denke ich, um damit mehr Informationen zusammen zu sammeln als man mit einem einzelnen SQL-Befehl holt. Und wenn man nicht Informationen holen sondern senden will, löst die API ja noch mehr aus als nur ein einzener SQL-Befehl vermag.
    Und: Die Datenbankstruktur kann sich ja jederzeit mit jedem Update ändern, so dass die SQL-Befehle nicht mehr funktionieren. Die API wird aber immer (hoffentlich) an Datenbankänderungen angepasst, funktioniert also verlässlich.
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    656
    Danke erhalten:
    92
    Danke vergeben:
    270
    Prima - Danke
     
  4. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    31.203
    Danke erhalten:
    6.208
    Danke vergeben:
    1.107
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Eigene DB Abfragen sollte man möglichst vermeiden. Die API filtert und validiert auch teilweise Daten.
    Beispiel: Ich musste einen Wert anpassen als ich den ganzen Shop im Testsystem über die API neu befüllt habe, weil zu viele Anfragen waren. Also auch Sicherheit. Dein PHP Script könnte evtl. ja jemand ausnutzen und sich so DB zugriff verschaffen. über die API schwerer denke ich mal.
    Gambio DEV Seite hat ne API Dokumentation
     
  5. Walter Lenk

    Walter Lenk Erfahrener Benutzer

    Registriert seit:
    28. September 2011
    Beiträge:
    568
    Danke erhalten:
    259
    Danke vergeben:
    93
    Guten Morgen zusammen,

    Dennis hat das schon sehr gut erklärt. Es erleichtert einfach den Umgang mit Daten und ermöglicht einen Datenaustausch ohne die exakten Zusammenhänge der einzelnen Datenbanktabellen und Datenfelder zu kennen. Und bei Änderungen der Datenbankstruktur funktioniert der API-Zugriff (im Optimalfall) unverändert.

    Aber das ist alles nur ganz grob angerissen.

    Grüße
    Walter
     
  6. heinzsoft-shop

    heinzsoft-shop Erfahrener Benutzer

    Registriert seit:
    7. Juli 2014
    Beiträge:
    250
    Danke erhalten:
    96
    Danke vergeben:
    39
    Über die Offizielle API werden nicht nur einfach ein oder mehrere SQL Befehle ausgeführt sondern auch noch andere dinge wie zb: wenn man die Versand Sendungsnummer bei einer Bestellung über die offizielle API hinterlegt wird diese auch gleichzeitig an Paypal übertragen. Hinterlegt man stattdessen die Sendungsnummer einfach nur direkt in die Datenbank wird nichts an Paypal übertragen. Dessen muss man sich bewusst sein.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    656
    Danke erhalten:
    92
    Danke vergeben:
    270
    #7 Anonymous, 1. März 2024
    Zuletzt bearbeitet: 1. März 2024
    Auch Danke Euch Dreien.

    Mir ging es nur ums Verständnis.

    Ist quasi wie eine Methode einer Klasse, eine "Blackbox". Beim Verwendung der API werden letztlich im Hintergrund SQL Befehle ausgeführt, und natürlich noch PHP Code.

    Wäre mal schön, wenn man sich mal den Programmcode anschauen könnte. Einfach mal zu schauen, wie das programmiert wurde, zum Lernen.
     
  8. markus_wick

    markus_wick Erfahrener Benutzer

    Registriert seit:
    10. Oktober 2018
    Beiträge:
    978
    Danke erhalten:
    218
    Danke vergeben:
    153
    Zum lernen: Es ist ja alles da im Shop. Die Datei die die Befehle Route ist die api.php im Hauptverzeichnis.
    Die Controller dafür sind (zumindest für die v2) im Verzeichnis GXMainComponents/Controllers/Api/v2/.
    Wenn Du also wissen möchtest, was der "products" Aufruf der API so macht, siehst Du Dir die Datei
    GXMainComponents/Controllers/Api/v2/ProductsApiV2Controller.inc.php an.

    Hinweis an @Till (Gambio): Wenn man derzeit unter https://developers.gambio.de/ den REST API v2 Button klickt, kommt ne Fehlermeldung, weil https://developers.gambio.de/docs/4.8.0.1/rest verlinkt ist aber nicht existiert, es existiert immer noch https://developers.gambio.de/docs/4.8.0.0/rest
    Dasselbe mit v3: https://developers.gambio.de/docs/4.8.0.1/rest-v3 gibts nicht, aber https://developers.gambio.de/docs/4.8.0.0/rest-v3 gibts.
     
  9. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    656
    Danke erhalten:
    92
    Danke vergeben:
    270
    Oh - ganz schön hart.