{"id":177446,"date":"2026-01-28T12:54:08","date_gmt":"2026-01-28T11:54:08","guid":{"rendered":"https:\/\/liora.io\/de\/?p=177446"},"modified":"2026-02-06T04:33:44","modified_gmt":"2026-02-06T03:33:44","slug":"rest-api-was-ist-das-und-wozu-dient-es","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/rest-api-was-ist-das-und-wozu-dient-es","title":{"rendered":"Rest API: Was ist das und wozu dient es ?"},"content":{"rendered":"<p><strong>Heutzutage sind Web- und mobile Anwendungen in unserem Alltag allgegenw\u00e4rtig. Unternehmen sind st\u00e4ndig auf der Suche nach M\u00f6glichkeiten, die Benutzererfahrung und die Leistung ihrer Anwendungen zu verbessern. Hier kommen die REST-APIs (API f\u00fcr Application Programming Interface und REST f\u00fcr REpresentational State Transfer) ins Spiel.<\/strong><\/p>\nREST-<a href=\"https:\/\/liora.io\/de\/fastapi\">APIs<\/a> sind Programmierschnittstellen, die die Kommunikation zwischen verschiedenen Anwendungen, Systemen und Webdiensten erm\u00f6glichen. Sie sind zu einem wesentlichen Bestandteil der modernen Anwendungsentwicklung geworden und werden in vielen Bereichen eingesetzt.\n\nOhne darauf zu achten, interagierst du jeden Tag mit ihnen: Denn egal, ob du online ein Essen bestellst, den Inhalt deiner <a href=\"https:\/\/liora.io\/de\/netflix-algorithmus-wie-funktioniert-er\">Lieblings-Streaming-Plattform<\/a> erkundest oder ein Foto in einem sozialen Netzwerk teilst, du interagierst mit einer Rest API\n\nIn diesem Artikel werden wir uns genauer ansehen, was Rest APIs sind und wie sie funktionieren.\n\n?Auch interessant:\n<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"268\"><\/colgroup>\n<tbody>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;FastAPI&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/fastapi\"><a href=\"https:\/\/liora.io\/de\/fastapi\" target=\"_blank\" rel=\"noopener\">FastAPI<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;API Was ist das?&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/api\"><a href=\"https:\/\/liora.io\/de\/api\" target=\"_blank\" rel=\"noopener\">API Was ist das?<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;API mit Python Datenbank verbinden&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/api-mit-python-datenbank-verbinden\"><a href=\"https:\/\/liora.io\/de\/api-mit-python-datenbank-verbinden\" target=\"_blank\" rel=\"noopener\">API mit Python Datenbank verbinden<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Web Scraping Anwendungen&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/web-scraping-theorie-und-anwendung-fuer-jedermann\"><a href=\"https:\/\/liora.io\/de\/web-scraping-theorie-und-anwendung-fuer-jedermann\" target=\"_blank\" rel=\"noopener\">Web Scraping Anwendungen<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;API erstellen&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/api-erstellen-mit-verschiedenen-apps-teil-i\"><a href=\"https:\/\/liora.io\/de\/api-erstellen-mit-verschiedenen-apps-teil-i\" target=\"_blank\" rel=\"noopener\">API erstellen<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;API Programmierung mit Python Flask &quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/api-programmierung-und-dokumentation-mit-python-flask-swagger-und-connexion\"><a href=\"https:\/\/liora.io\/de\/api-programmierung-und-dokumentation-mit-python-flask-swagger-und-connexion\" target=\"_blank\" rel=\"noopener\">API Programmierung mit Python Flask <\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Selenium Python Case Study&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/selenium-python-case-study-zum-euronews-web-scraping\"><a href=\"https:\/\/liora.io\/de\/selenium-python-case-study-zum-euronews-web-scraping\" target=\"_blank\" rel=\"noopener\">Selenium Python Case Study<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 class=\"wp-block-heading\" id=\"h-funktionsprinzipien-von-rest-api\">Funktionsprinzipien von Rest API<\/h2>\nRoy Fielding war der erste, der im Jahr 2000 die Prinzipien der REST-Architektur definierte. Sie basiert auf den folgenden Hauptpfeilern:\n\n<style type=\"text\/css\">\n.tg {border-collapse:collapse;border-spacing:0;}<br \/>\n.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;<br \/>\n  overflow:hidden;padding:10px 5px;word-break:normal;}<br \/>\n.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;<br \/>\n  font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}<br \/>\n.tg .tg-jtou{background-color:#c0c0c0;border-color:inherit;color:#ffffff;text-align:center;vertical-align:top}<br \/>\n.tg .tg-fkky{background-color:#6434fc;border-color:inherit;color:#efefef;font-size:20px;font-weight:bold;text-align:center;<br \/>\n  vertical-align:top}<br \/>\n.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}<br \/>\n<\/style>\n<table style=\"undefined;table-layout: fixed; width: 700px\">\n<colgroup>\n<col style=\"width: 200px\">\n<col style=\"width: 500px\">\n<\/colgroup>\n<thead>\n<tr>\n<th>Prinzip<\/th>\n<th>Beschreibung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Client-Server<\/td>\n<td>Client-Server-Architektur, bei der der Client eine Anfrage an den Server sendet und auf dessen Antwort wartet. Der Server verarbeitet die Anfrage und sendet die Antwort an den Client.<\/td>\n<\/tr>\n<tr>\n<td>Abwesenheit eines Zustands<\/td>\n<td>Die APIs speichern den Status der Sitzung nicht auf der Serverseite. Daher wird jede Anfrage unabh\u00e4ngig verarbeitet.<\/td>\n<\/tr>\n<tr>\n<td>Caching<\/td>\n<td>Antworten k\u00f6nnen zwischengespeichert werden, wodurch einige Client-Server-Interaktionen entfallen und die Skalierbarkeit und Leistung des Systems verbessert wird.<\/td>\n<\/tr>\n<tr>\n<td>Sichere Transportschicht<\/td>\n<td>Das sichere HTTPS-Protokoll kann verwendet werden, um die Sicherheit der zwischen Client und Server \u00fcbertragenen Daten zu gew\u00e4hrleisten<\/td>\n<\/tr>\n<tr>\n<td>Code auf Anfrage<\/td>\n<td>Server k\u00f6nnen die Funktionalit\u00e4t eines Clients vor\u00fcbergehend erweitern oder \u00e4ndern, indem sie ausf\u00fchrbaren Code an den Client \u00fcbertragen<\/td>\n<\/tr>\n<tr>\n<td>Einheitliche Oberfl\u00e4che<\/td>\n<td>Um eine einheitliche Anwendung zu erreichen, werden die folgenden Schnittstellenbeschr\u00e4nkungen verwendet:\n<ul>\n \t<li>Identifikation von Ressourcen<\/li>\n \t<li>Manipulation von Ressourcen durch Darstellungen<\/li>\n \t<li>Selbstbeschreibende Nachrichten<\/li>\n \t<li>Hypermedia als Engine f\u00fcr den Zustand der Anwendung<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2023\/05\/image2-1.png\" title=\"\" alt=\"\" loading=\"lazy\"><figcaption><\/figcaption><\/figure>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Rest API lernen<\/a><\/div><\/div>\n\n<h2 class=\"wp-block-heading\" id=\"h-rest-api-was-ist-crud-und-was-hat-es-damit-zu-tun\">Rest API: Was ist CRUD und was hat es damit zu tun ?<\/h2>\nDas <a href=\"https:\/\/liora.io\/de\/crud-definition-funktionsweise\">CRUD-Prinzip<\/a> ist eine Methode, die darauf abzielt, die grundlegenden Operationen zu beschreiben, die man mit Daten aus einer Datenbank oder einer API durchf\u00fchren kann.\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"960\" height=\"480\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image3-1.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image3-1.png 960w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image3-1-300x150.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image3-1-768x384.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\">\n\n<figcaption><\/figcaption><\/figure>\n<strong>Der Begriff CRUD<\/strong> ist ein Akronym f\u00fcr <strong>Create, Read, Update &amp; Delete.<\/strong> Sehen wir uns nun an, was jeder dieser Begriffe bedeutet:\n<ul>\n \t<li><strong>Create, f\u00fcr &#8222;Erstellen&#8220;,<\/strong> ist das Hinzuf\u00fcgen neuer Daten zur Datenquelle. Bei einer Anwendung zur Verwaltung von Kontakten bedeutet Create beispielsweise, dass ein neuer Kontakt mit seinen Informationen (Name, E-Mail, Telefon usw.) hinzugef\u00fcgt wird.<\/li>\n \t<li><strong>Read, f\u00fcr &#8222;Lesen&#8220;,<\/strong> erm\u00f6glicht es, die vorhandenen Daten aus der Datenquelle abzurufen. Auch in unserer Kontaktverwaltungsanwendung erm\u00f6glicht das Lesen dem Nutzer, die Details der gespeicherten Kontakte einzusehen.<\/li>\n \t<li><strong>Update, f\u00fcr &#8222;Aktualisierung&#8220;,<\/strong> erm\u00f6glicht es, die vorhandenen Daten zu \u00e4ndern. Wenn wir das gleiche Beispiel beibehalten, kann der Nutzer die Telefonnummer eines bestehenden Kontakts \u00e4ndern.<\/li>\n \t<li><strong>Delete, f\u00fcr &#8222;L\u00f6schen&#8220;,<\/strong> erm\u00f6glicht es dir, bestehende Daten zu l\u00f6schen. Der Nutzer kann so einen Kontakt aus seiner Kontaktliste entfernen.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"h-anatomie-einer-abfrage\">Anatomie einer Abfrage<\/h2>\nEine Abfrage besteht aus folgenden Elementen:\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1331\" height=\"303\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image4-1.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image4-1.png 1331w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image4-1-300x68.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image4-1-1024x233.png 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/06\/image4-1-768x175.png 768w\" sizes=\"(max-width: 1331px) 100vw, 1331px\">\n\n<figcaption><\/figcaption><\/figure>\nEine Methode kann als ein Verb definiert werden, das festlegt, was du von deiner Anfrage erwartest, gem\u00e4\u00df den oben beschriebenen <strong>CRUD-Prinzipien.<\/strong> Die h\u00e4ufigsten Methoden sind :\n<ul>\n \t<li><strong>GET:<\/strong> Der Server antwortet auf deine Anfrage, indem er dir die gew\u00fcnschten Daten anzeigt. Dabei handelt es sich um die Read-Operation.<\/li>\n \t<li><strong>POST:<\/strong> Der Server erstellt einen neuen Eintrag in der Datenbank und benachrichtigt dich \u00fcber das Ergebnis. Diese Methode f\u00fchrt eine Create-Operation aus.<\/li>\n \t<li><strong>PUT \/ PATCH:<\/strong> Diese beiden Methoden aktualisieren einen Eintrag in der Datenbank und benachrichtigen dich \u00fcber das Ergebnis. Sie f\u00fchren eine Update-Operation durch.<\/li>\n \t<li><strong>DELETE<\/strong>: Sie l\u00f6scht einen Eintrag in der Datenbank und teilt dir das Ergebnis mit. Diese Methode f\u00fchrt eine Delete-Operation durch<\/li>\n<\/ul>\nEs gibt noch weitere, die aber viel seltener verwendet werden: <strong>HEAD, CONNECT, OPTIONS und TRACE.<\/strong>\n\nDie Basis-URL oder Abfrageadresse ist die Adresse, die du f\u00fcr den Zugriff auf die<strong> API<\/strong> verwenden m\u00f6chtest.\n\nDer Endpunkt (endpoint), gibt an, wo sich die Daten befinden, mit denen du interagieren m\u00f6chtest.\n\nAbfragen sind eine Reihe von Angaben, die bezeichnen, was du erhalten m\u00f6chtest, in Form von Schl\u00fcssel-Wert, verbunden durch &amp;, und eingeleitet durch ?\n\nWir haben gerade gesehen, woraus eine Abfrage besteht. Es gibt noch zwei wichtige Elemente:\n\nDie <strong>Kopfzeilen (headers),<\/strong> die verwendet werden, um dem Client und dem Server zus\u00e4tzliche Informationen zu geben. Es gibt viele Header-Parameter, deren vollst\u00e4ndige Liste auf der Mozilla-Website zu finden ist. Sie liegen immer in der Schl\u00fcssel-Wert-Form vor.\n\nDer <strong>K\u00f6rper der Abfrage (body)<\/strong> ist das Ergebnis, das vom Server an dich zur\u00fcckgeschickt wurde. Dieses Ergebnis enth\u00e4lt auch einen Returncode, der dich dar\u00fcber informiert, ob die Anfrage erfolgreich war oder nicht. Die Codes 2XX stehen f\u00fcr einen Erfolg, die Codes 4XX und 5XX f\u00fcr einen Fehler (z. B. 400 f\u00fcr eine ung\u00fcltige Anfrage, 404 f\u00fcr eine nicht gefundene Ressource, 501 f\u00fcr einen Authentifizierungsfehler usw.). Schlie\u00dflich weisen die Codes 3XX auf eine URL-Weiterleitung hin.\n<h2 class=\"wp-block-heading\" id=\"h-rest-api-authentifizierung\">Rest API Authentifizierung<\/h2>\nEin <strong>REST-Webdienst<\/strong> muss in der Lage sein, Anfragen zu authentifizieren, bevor er eine Antwort senden kann. Durch diese Authentifizierung wird die Identit\u00e4t der Person, die die Anfrage stellt, \u00fcberpr\u00fcft.\n\nDie g\u00e4ngigsten Authentifizierungsmethoden sind die folgenden:\n<ul>\n \t<li><strong>Grundlegende HTTP-Authentifizierung:<\/strong> Der Client sendet den Benutzernamen und das Passwort im Kopf der Anfrage, die dann zur \u00dcbertragung wieder in base64 kodiert werden.<\/li>\n \t<li><strong>API-Schl\u00fcssel:<\/strong> Der Server weist dir einen eindeutigen Schl\u00fcssel zu, der normalerweise aus einer Folge alphanumerischer Zeichen besteht.<\/li>\n \t<li><strong>OAuth:<\/strong> Dies ist die fortgeschrittenste Sicherheitsstufe. Der Server verlangt zuerst ein Passwort und dann ein zus\u00e4tzliches Token, um den Authentifizierungsprozess abzuschlie\u00dfen. Das Token kann auch in regelm\u00e4\u00dfigen Abst\u00e4nden \u00fcberpr\u00fcft werden und eine bestimmte Lebensdauer haben.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"h-fazit\">Fazit<\/h2>\nDieser Artikel hat dir geholfen,<strong> REST-APIs<\/strong> zu verstehen und ihre Macht und Tragweite zu begreifen. Sie sind allgegenw\u00e4rtig, wenn du Webdienste oder -anwendungen nutzt.\n\nWir haben hier nicht auf die Details ihrer Entwicklung eingegangen, aber die verschiedenen Liora-Kurse werden dir dabei helfen, diesen Aspekt zu verstehen.\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Entdecke unsere Data Science Weiterbildungen<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Heutzutage sind Web- und mobile Anwendungen in unserem Alltag allgegenw\u00e4rtig. Unternehmen sind st\u00e4ndig auf der Suche nach M\u00f6glichkeiten, die Benutzererfahrung und die Leistung ihrer Anwendungen zu verbessern. Hier kommen die REST-APIs (API f\u00fcr Application Programming Interface und REST f\u00fcr REpresentational State Transfer) ins Spiel.<\/p>\n","protected":false},"author":78,"featured_media":177447,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-177446","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/177446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=177446"}],"version-history":[{"count":3,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/177446\/revisions"}],"predecessor-version":[{"id":216485,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/177446\/revisions\/216485"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/177447"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=177446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=177446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}