{"id":23781,"date":"2022-12-28T12:29:04","date_gmt":"2022-12-28T12:29:04","guid":{"rendered":"https:\/\/document360.com\/?p=23781"},"modified":"2025-02-04T11:27:32","modified_gmt":"2025-02-04T11:27:32","slug":"open-api","status":"publish","type":"post","link":"https:\/\/document360.com\/de\/blog\/open-api\/","title":{"rendered":"Was ist Open API? Vorteile, Nachteile &#038; Beispiele"},"content":{"rendered":"<h2>Was ist OpenAPI?<\/h2>\r\n<p>SmartBear, die Muttergesellschaft von Swagger:<\/p>\r\n<p><strong>\u201c<em>Die OpenAPI Spezifikation<\/em><\/strong><em> (OAS) definiert einen Standard, eine sprache-agnostische Schnittstelle zu RESTful APIs, die es sowohl Menschen als auch Computern erm\u00f6glicht, ohne Zugriff auf Quellcode, Dokumentation oder durch Netzverkehrspr\u00fcfungen die F\u00e4higkeiten des Dienstes zu entdecken und zu verstehen<\/em>.<strong>\u201d<\/strong><\/p>\r\n<p>Das ist ja ein gro\u00dfer Worthappen! Lassen Sie uns SmartBears Beschreibung in kleinere H\u00e4ppchen aufteilen:<\/p>\r\n<p><strong>1. \u201c\u2026definiert einen Standard\u2026\u201d:<\/strong><\/p>\r\n<ul>\r\n\t<li>Die OpenAPI Spezifikation definiert die Struktur einer API, die auch die API beschreibt.<\/li>\r\n<\/ul>\r\n<p><strong>2. \u201c\u2026eine sprache-agnostische Schnittstelle zu RESTful APIs\u2026\u201d:<\/strong><\/p>\r\n<ul>\r\n\t<li>REST-APIs verwenden das HTTP-Protokoll f\u00fcr die Daten\u00fcbertragung. Dieses Protokoll erm\u00f6glicht Plattformen und Systeme, die in verschiedenen Programmiersprachen geschrieben sind, miteinander zu interagieren.<\/li>\r\n\t<li>OpenAPI behandelt nur RESTful APIs, nicht andere APIs.<\/li>\r\n<\/ul>\r\n<p><strong>3. \u201c\u2026, der es Menschen und Computern erm\u00f6glicht, die F\u00e4higkeiten des Dienstes\u2026\u201d:<\/strong><\/p>\r\n<ul>\r\n\t<li>Menschen k\u00f6nnen die Dokumentation direkt aus der OAS-Definition einer API lesen.<\/li>\r\n\t<li>Ein Client versteht, wie er Anfragen senden kann und wie API-Server basierend auf der API-Definition auf diese Anfragen reagieren.<\/li>\r\n<\/ul>\r\n<p><strong>4. \u201c\u2026ohne Zugriff auf Quellcode, Dokumentation oder durch Netzverkehrspr\u00fcfungen.\u201c<\/strong><\/p>\r\n<ul>\r\n\t<li>Mit OpenAPI werden die Client-Anwendung und der API-Server getrennt. Die API-Definition eines Dienstes legt fest, wie Clients mit ihm interagieren k\u00f6nnen, ohne dass der Client seinen Quellcode lesen muss.<\/li>\r\n\t<li>Zusammenfassend l\u00e4sst sich sagen, dass OpenAPI eine RESTful API Spezifikation ist, die APIs beschreibt, die der RESTful Architektur entsprechen. Eine Spezifikation stellt eine Schnittstelle zur Verf\u00fcgung, mit der Menschen und Computer eine API verstehen und mit ihr interagieren k\u00f6nnen.<\/li>\r\n<\/ul>\r\n<h2><strong>Geschichte von OpenAPI<\/strong><\/h2>\r\n<p>Die Urspr\u00fcnge von OpenAPI beginnen mit dem Ingenieur Tony Tam von der Firma Wordnik im Jahr 2009. Tony erstellte eine Spezifikation (damals Swagger genannt), die Wordniks Online-W\u00f6rterbuch JSON API beschreibt.<\/p>\r\n<p>In den n\u00e4chsten Paar Jahren machte Swagger mehrfach von Tony geleiteten Iterationen durch. Allerdings hat Swagger 2.0 einen Anstieg bei der Annahme der Spezifikation festgestellt und die Schaffung von Werkzeugen zur Analyse der Spezifikation ausgel\u00f6st.<\/p>\r\n<p>Im Jahr 2015 wurde Swagger von SmartBear erworben. SmartBear ist das Unternehmen, das derzeit Swagger besitzt. Die Swagger-Spezifikation wurde in \u201eOpenAPI\u201c umbenannt, um die neue OpenAPI-Initiative zu reflektieren. Diese Umbenennung ist der Grund, warum \u201eSwagger\u201c mit dem \u201eOpenAPI\u201c-Standard verwechselt wird.<\/p>\r\n<p>Zu dieser Zeit erkannte eine Unternehmensgruppe, dass die Branche eine herstellerneutrale und standardisierte Art der Beschreibung von APIs ben\u00f6tigt. Die Branche musste der Branche \u201eBest Practices\u201c anbieten und Updates f\u00fcr OpenAPI im Laufe der Zeit \u00fcberwachen.<\/p>\r\n<p>Diese Unternehmen gr\u00fcndeten die OpenAPI Initiative als Governance-Programm unter der Linux Foundation, die den OpenAPI Standard pflegt und praktische Anleitung bietet. Die Gr\u00fcndungsfirmen, die die OpenAPI Initiative gr\u00fcndeten, waren CapitalOne, PayPal, SmartBear, IBM, 3Scale, Google, Apigee, Intuit, Microsoft und Restlet. Seitdem ist die Zahl der an der Initiative beteiligten Unternehmen erheblich gestiegen.<\/p>\r\n<p>Der Technische Lenkungsausschuss verwaltet nun OpenAPI und ver\u00f6ffentlicht weiterhin neue Versionen basierend auf Community-Feedback.<\/p>\r\n<h2><strong>Warum ist OpenAPI ein beliebter Standard?<\/strong><\/h2>\r\n<p>Es gibt mehrere Spezifikationen, die RESTful APIs beschreiben. OpenAPI geh\u00f6rt zu den bekanntesten und am weitesten verbreiteten Anwendungen. Die anderen beiden Formate, die f\u00fcr REST-APIs verwendet werden, sind RAML und API Blueprint. Sp\u00e4ter werden wir die Vor- und Nachteile von OpenAPI im Vergleich abdecken. W\u00e4hrend OpenAPI als Industriestandard betrachtet werden kann, w\u00e4hlen Unternehmen am Ende oft das Format, das ihren gesch\u00e4ftlichen Bed\u00fcrfnissen am besten entspricht.<\/p>\r\n<p>Daher stellt sich die Frage: wenn es mehrere Formate gibt, um REST-APIs zu beschreiben, warum ist OpenAPI so besonders? Ein Schl\u00fcsselfaktor daf\u00fcr, warum OpenAPI so beliebt ist, ist seine Annahme. Mehr Adoption f\u00fchrt zu mehr Unterst\u00fctzung durch die Gemeinschaft, zu robusterenInstrumenten und einer effektiveren Kontrolle.<\/p>\r\n<p>Ein Unternehmen kann die Open API-Spezifikation f\u00fcr seine Portabilit\u00e4t und Einfachheit verwenden. OpenAPI ist \u201elanguage-agnostic\u201c und definiert eine gemeinsame Sprache f\u00fcr die Client-Server-Kommunikation. Es ist sehr kompatibel mit Systemen, die in verschiedenen Programmiersprachen geschrieben sind. OpenAPI ist auch f\u00fcr Menschen und Computer sehr lesbar und hat die Unterst\u00fctzung einer gro\u00dfen, wachsenden Gemeinschaft.<\/p>\r\n<p>Ein weiteres beliebtes Format ist RAML, eine API-Modellierungssprache, die sich auf API-Definition und -Design konzentriert (obwohl man APIs mit OpenAPI entwerfen kann). Die Funktionen von RAML k\u00f6nnten als Zwerge von OpenAPI erscheinen. Es hat den Vorteil, hierarchisch zu sein und Datenmodellvererbung zu unterst\u00fctzen. RAML ist jedoch nicht so weit verbreitet wie OpenAPI. Obwohl RAML eine engagierte Community hat, hat es weniger Unterst\u00fctzung f\u00fcr die Gemeinschaft. RAML hat Werkzeuge, aber es gibt einige Hinweise, dass bei der neuesten Version die notwendige Unterst\u00fctzung fehlt.<\/p>\r\n<p>Zus\u00e4tzlich zu RAML ist API Blueprint eine weitere Alternative zu OpenAPI. API Blueprint konzentriert sich auf klare Dokumentation, die sich im Gegensatz zu JSON (wie OpenAPI) oder YAML (wie OpenAPI und RAML) auf Markdown Format st\u00fctzt. Aufgrund seiner geringen Annahme fehlt es API Blueprint an Unterst\u00fctzung f\u00fcr die Community und an robusten Werkzeugen f\u00fcr OpenAPI. Die Integration der API Blueprint in Ihren gesamten API-Lebenszyklus ist schwierig, da der einzige Schwerpunkt auf Dokumentation liegt.<\/p>\r\n<p>Zusammenfassend ist OpenAPI der beliebteste Standard f\u00fcr die Beschreibung von APIs. Obwohl es Nachteile hat, wird OpenAPI wahrscheinlich in der Annahme wachsen, w\u00e4hrend die langfristige Lebensf\u00e4higkeit anderer Spezifikationstypen unsicher ist.<\/p>\r\n<h2><strong>Wie definiert OpenAPI eine API?<\/strong><\/h2>\r\n<p>Denken Sie an ein Legacy-Spezifikationsdokument, das Sie im Format Microsoft Word (.docx) lesen w\u00fcrden. Dieses Dokument stellt den breiten Kontext eines Systems dar und beschreibt seine Komponenten und Interaktionen mit anderen Systemen.<\/p>\r\n<p>Die Struktur der alten Spezifikationen ist oft unterschiedlich. Eine API-Spezifikation, wie OpenAPI, ist streng strukturiert. Wenn eine API-Spezifikation einem anderen Format entspricht, wie RAML oder API Blueprint, hat die Dokumentation eine Struktur, die diesem Format entspricht.<\/p>\r\n<p>Wenn Sie auf die Definition von OpenAPI zur\u00fcckkommen, h\u00f6ren Sie oft die synonymen Begriffe \u201eSpezifikation\u201c und \u201eDefinition\u201c. Eine API-Spezifikation definiert eine API. Beim Lesen einer API-Spezifikation erfahren Sie, welche Art von Anfragen Sie senden k\u00f6nnen und welche Antworten Sie von der API erhalten m\u00f6chten. Zus\u00e4tzlich beschreibt die Spezifikation die verf\u00fcgbaren Optionen, die die zur\u00fcckgegebenen Informationen beeinflussen. Wie eine Legacy-Spezifikation erfahren Sie \u00fcber ein System, seine Komponenten und seine Wechselwirkungen.<\/p>\r\n<p>Ein weiterer Unterschied zwischen alten Spezifikationen und API-Spezifikationen besteht darin, dass API-Spezifikationen dynamisch sind. Wann auch immer sich der zugrunde liegende Quellcode einer API \u00e4ndert, aktualisiert sich die Dokumentation. Legacy-Spezifikationsdokumente erfordern eine manuelle Aktualisierung der Word-Dokumente, wenn sich das System \u00e4ndert.<\/p>\r\n<h2>OpenAPI Format<\/h2>\r\n<p><span style=\"font-weight: 400;\">Bevor Sie die Struktur einer OpenAPI-Spezifikation verstehen, m\u00fcssen Sie das Format eines OpenAPI-Dokuments verstehen. Anders als in Word geschriebene, alte Spezifikationen ist OpenAPIs Format JSON. W\u00e4hrend eine Diskussion der Nuancen von JSON f\u00fcr diesen Blog-Beitrag au\u00dfer Bereich ist, k\u00f6nnten Sie JSON als eine M\u00f6glichkeit betrachten, die Daten einer API als Schl\u00fcssel-Wert-Paare zu repr\u00e4sentieren.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Zum Beispiel in \u00e4lteren Spezifikationen schreiben Sie den Titel einer Spezifikation (einschlie\u00dflich des Namens des Systems) unter Verwendung eines Titelstils auf der Titelseite. Um den Titel einer Open API-Spezifikation zu schreiben, schreiben Sie den Titel als JSON-Schl\u00fcsselpaar.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Denken Sie nun an alle Informationen \u00fcber eine API. Seine Methoden, Operationen, Antworten, etc. Stellen Sie sich diese Eigenschaften vor, die in einer Reihe dieser Schl\u00fcssel-Wert-Paare dokumentiert sind, die der OpenAPI-Struktur folgen.<\/span><\/p>\r\n<p><b>Hinweis:<\/b><span style=\"font-weight: 400;\"> W\u00e4hrend JSON das Standardformat f\u00fcr OpenAPI ist, ist es m\u00f6glich, OpenAPI in einfacherem YAML darzustellen (ein Abk\u00fcrzungszeichen, das f\u00fcr YAML ist keine Markup-Sprache).<\/span><\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium\" src=\"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/title_of_specification.png\" alt=\"Titel der Spezifikation\" width=\"1268\" height=\"192\" \/><\/p>\r\n<h2><b>Datentypen<\/b><\/h2>\r\n<p><span style=\"font-weight: 400;\">Als JSON-Objekt unterst\u00fctzt die OpenAPI-Spezifikation Datentypen, die in der breiteren JSON-schematischen Spezifikation definiert sind. Primitive beinhalten Integer, Zahlen, Booleans und Zeichenketten. Sie k\u00f6nnen das Format eines Datentyps mit dem Modifikator-Eigenschaft Format angeben. Zum Beispiel k\u00f6nnen Sie eine Ganzzahl als int32 oder int64 Format angeben, eine Zahl als float oder double, oder eine Zeichenkette als Bin\u00e4r-, Daten-, Datums- oder Kennwortformat. OpenAPI unterst\u00fctzt auch Modelle (Objekte), die in der breiteren JSON-Spezifikation als Schema-Objekte definiert sind.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Es ist wichtig zu beachten, dass JSON das prim\u00e4re Format REST-APIs ist, die zum Senden und Empfangen von Informationen verwendet werden.<\/span><\/p>\r\n<h2><b>Struktur<\/b><\/h2>\r\n<p><span style=\"font-weight: 400;\">Bisher verstehen wir, dass:<\/span><\/p>\r\n<ul>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">eine OpenAPI Spezifikation ein JSON-Objekt ist.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">die Eigenschaften einer API eine Reihe von Schl\u00fcssel-Wert-Paaren sind.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Werte Datentypen sind, die durch die breitere JSON-Spezifikation definiert werden.<\/span><\/li>\r\n<\/ul>\r\n<p><span style=\"font-weight: 400;\">Jetzt ist es an der Zeit, \u00fcber die Struktur von OpenAPI zu diskutieren.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Wie bereits erw\u00e4hnt, ist ein OpenAPI-Dokument streng strukturiert. Objekte oder Arrays von Objekten gruppieren bezogene Schl\u00fcssel-Wert-Paare. Die hochstufigen Objekte einer OpenAPI-Spezifikation sind wie die Kapitel eines alten Spezifikationsdokuments.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Unten ist ein <\/span><b>OpenAPI Vorlage<\/b><span style=\"font-weight: 400;\"> mit eingeklappten Abschnitten, um die Gesamtstruktur anzuzeigen. Jeder Abschnitt hat Eigenschaften, oder Schl\u00fcssel-Wert-Paare, die Metadaten \u00fcber die API liefern.<\/span><\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium\" src=\"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/API_template_with_structure.png\" alt=\"API-Vorlage mit Struktur\" width=\"1278\" height=\"804\" \/><\/p>\r\n<p><span style=\"font-weight: 400;\">Die obere Ebene von OpenAPI, angegeben durch die ersten Klammern { }, wird als \u201eDokument Objekt\u201c bezeichnet, da es alle OpenAPI Eigenschaften enth\u00e4lt.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">W\u00e4hrend OpenAPI Dokumente einer grundlegenden Struktur entsprechen m\u00fcssen, bietet OpenAPI eine gewisse Flexibilit\u00e4t. Einige der High-Level-Abschnitte sind erforderlich, andere nicht. Sie werden OpenAPI-Spezifikationen f\u00fcr verschiedene APIs bemerken, die etwas anders aussehen.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Ein OpenAPI-Dokument kann die folgenden Abschnitte enthalten:<\/span><\/p>\r\n<ul>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Openapi<\/b><span style=\"font-weight: 400;\"> &#8211; Ein Pflichtfeld, das die OpenAPI Spezifikationsversion der API definiert. Werkzeuge verwenden die Versionsnummer, um beispielsweise die OpenAPI Spezifikation zu analysieren, um Dokumentation zu generieren.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Info<\/b><span style=\"font-weight: 400;\"> &#8211; Ein Pflichtfeld, das Metadaten enth\u00e4lt. Die Werkzeuge k\u00f6nnen Metadaten auf unterschiedliche Art und Weise einsetzen.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Servers<\/b><span style=\"font-weight: 400;\"> &#8211; Ein Array von Serverobjekten. Jedes Serverobjekt enth\u00e4lt die Verbindungsdetails zu einem Server. Dieses Objekt enth\u00e4lt die URL zum Server Host und eine Beschreibung des Servers.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Paths<\/b><span style=\"font-weight: 400;\"> &#8211; Ein Pflichtobjekt, das die relativen Pfade zu den einzelnen Endpunkten der API enth\u00e4lt. Ein vorgegebener Pfad verf\u00fcgt \u00fcber Operationen zur Interaktion mit der API wie POST, GET, PUT oder DELETE.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Components<\/b><span style=\"font-weight: 400;\"> &#8211; ein Objekt, das wiederverwendbare Schemas f\u00fcr Request-Bodys, Response-Schemas und Security-Schemata enth\u00e4lt. Schemas in diesem Abschnitt werden in bestimmten Teilen der Spezifikation referenziert, wie dem Pfadobjekt, mit dem Tag $ref.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Security<\/b><span style=\"font-weight: 400;\"> &#8211; ein Objekt, das die Art des Sicherheitssystems erkl\u00e4rt, das Anfragen autorisiert. Ein Sicherheitsobjekt wird global definiert oder durch einzelne Operationen \u00fcberschrieben (security scheme override).<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Tags<\/b><span style=\"font-weight: 400;\"> &#8211; ein Objekt mit Metadaten. Werkzeuge, die die Spezifikation analysieren, k\u00f6nnen dieses Objekt nutzen. Sie k\u00f6nnen zum Beispiel die Reihenfolge angeben, in der jede API-Ressource in Ihrer API-Dokumentation angezeigt werden soll (statt in alphabetischer Reihenfolge).<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>ExternalDocs<\/b><span style=\"font-weight: 400;\"> &#8211; ein Objekt, das Links zu zus\u00e4tzlichen Dokumentationen bereitstellt. Sie k\u00f6nnen dieses Objekt verwenden, um einen Link zu Ihren Benutzeranleitungen hinzuzuf\u00fcgen.<\/span><\/li>\r\n<\/ul>\r\n<h2>Schemas<\/h2>\r\n<p><span style=\"font-weight: 400;\">Am Ende Ihrer API-Dokumentation, gibt es typischerweise einen Schema-Abschnitt, der den Schemas entspricht, die im Komponentenabschnitt der API-Definition beschrieben sind.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Dieser Abschnitt ist ein schnelles Glossar, wenn der Leser allgemeine Schemas im breiteren Kontext der API anzeigen muss (nicht deren Verwendung in bestimmten Operationen). Schemas sind Objekte, die Eigenschaften\/Metadaten enthalten.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Der folgende Schema-Abschnitt f\u00fcr den Swagger Petstore zeigt Spektralschemas an. <\/span><b>Order<\/b><span style=\"font-weight: 400;\"> ist ein Schema, das eine Bestellung f\u00fcr ein Haustier im Swagger Petstore darstellt. Jede Bestellung hat ihre Metadaten inklusive ID, das Datum der Versendung und den Status der Bestellung.<\/span><\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium\" src=\"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/spec_wide_schemas.png\" alt=\"spec breite Schemas\" width=\"1343\" height=\"665\" \/><\/p>\r\n<h2><b>St\u00e4rken von OpenAPI\u00a0<\/b><\/h2>\r\n<p><span style=\"font-weight: 400;\">OpenAPI hat folgende Vorteile:<\/span><\/p>\r\n<ul>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Leere Dokumentation<\/b><span style=\"font-weight: 400;\"> &#8211; OpenAPI ist bekannt f\u00fcr seine leicht lesbare Dokumentation f\u00fcr Menschen und Computer.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Language-agnostic<\/b><span style=\"font-weight: 400;\"> &#8211; Clients k\u00f6nnen mit API-Servern interagieren, ohne die Implementierung des Servers zu kennen. Andere Formate wie die API Blueprint ben\u00f6tigen einen Code von Drittanbietern auf dem Server und stellen keinen Code f\u00fcr Sie bereit.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Governance<\/b><span style=\"font-weight: 400;\"> &#8211; Die OpenAPI-Initiative beh\u00e4lt den OpenAPI-Standard und wird von Branchenf\u00fchrern moderiert.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Weit verbreitete Aufnahme<\/b><span style=\"font-weight: 400;\"> &#8211; OpenAPI ist das beliebteste Format f\u00fcr die Beschreibung von REST-APIs. Das Ausma\u00df seiner Annahme deutet darauf hin, dass OpenAPI auf die Dauer bleibt. Eine Spezifikation wie die API Blueprint leidet unter mangelnder Adoption.<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Robuste Werkzeuge<\/b><span style=\"font-weight: 400;\"> &#8211; Das am meisten unterst\u00fctzte Format &#8211; es gibt jetzt eine Verbreitung von Tools, die OpenAPI f\u00fcr die Erstellung von Dokumentation, Testing, etc. nutzen. Bei anderen Spezifikationen fehlt die Unterst\u00fctzung und Wartung von OpenAPI f\u00fcr die Werkzeugbearbeitung.<\/span><\/li>\r\n<\/ul>\r\n<h2><b>Schw\u00e4chen von OpenAPI\u00a0<\/b><\/h2>\r\n<p><span style=\"font-weight: 400;\">Jeder Spezifikationstyp hat seine St\u00e4rken und Schw\u00e4chen. Hier werden wir uns auf die Nachteile von OpenAPI im Vergleich zu seinem n\u00e4chsten Konkurrenten RAML konzentrieren.<\/span><\/p>\r\n<h3><b>Weniger n\u00fctzlich f\u00fcr API-Design und Planung<\/b><\/h3>\r\n<p><span style=\"font-weight: 400;\">Sie k\u00f6nnen einen \u201espec-first\u201c-Ansatz w\u00e4hlen, um eine API basierend auf OpenAPI zu entwerfen. Dieser Ansatz beinhaltet das Schreiben der OpenAPI-Spezifikation f\u00fcr eine API \u201evon Hand\u201c oder die Verwendung eines Designwerkzeugs. Mit diesem Ansatz entwerfen Sie eine API-Spezifikation und nutzen dann die Spezifikation als \u201eVertrag\u201c beim Bau der API. Das Gegenteil von \u201espec-first\u201c ist die Verwendung von OpenAPI zur Erstellung von Dokumentationen, ohne es als Design-Werkzeug zu verwenden.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Obwohl der \u201espec-first\u201c-Ansatz viele Vorteile hat, kommt OpenAPI normalerweise nicht vor der API-Entwicklung.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Die hierarchische Struktur von RAML kann sich als Planungs- und Konstruktionswerkzeug vermehren. Daher kann RAML den \u201espec-first\u201c-Ansatz mehr unterst\u00fctzen als REST. Letztendlich wird RAML als \u201eDatenmodellierung\u201c und API \u201eBeschreibung\u201c vermarktet, w\u00e4hrend Swagger das Letztere ist. Auf das hierarchische Modell von RAML wird im n\u00e4chsten Abschnitt n\u00e4her eingegangen.<\/span><\/p>\r\n<h3><b>Nicht Hierarchisch<\/b><\/h3>\r\n<p><span style=\"font-weight: 400;\">Eines der Kernkonzepte f\u00fcr API-Definitionsstandards wie OpenAPI und RAML ist die F\u00e4higkeit, Datenobjekte zu erstellen und miteinander zu verbinden. OpenAPI verwendet hierf\u00fcr Schemas und unterst\u00fctzt JSON eingebaute Datentypen. RAML verwendet ein Typsystem, um assoziierte Eigenschaften zu speichern und die Wiederverwendung \u00fcber die gesamte Bandbreite hinweg zu f\u00f6rdern. Es unterst\u00fctzt auch die gleichen eingebauten Datentypen wie OpenAPI.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">OpenAPI hat keine \u201eechte\u201c hierarchische Struktur. Was m\u00f6chten Sie aus einer hierarchischen Struktur, die Ihre API beschreibt? Idealerweise wollen Sie ein System zur Verkn\u00fcpfung Ihrer Datenmodelle, das:<\/span><\/p>\r\n<ul>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">leicht lesbar\/verst\u00e4ndlich ist,<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">die Definition von Beziehungen zwischen Datenmodellen mittels Vererbung erlaubt,<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Wiederholung gemeinsamer Eigenschaften reduziert,<\/span><\/li>\r\n\t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">und die Wiederverwendbarkeit des Codes maximiert.<\/span><\/li>\r\n<\/ul>\r\n<p><span style=\"font-weight: 400;\">Das RAML-Typsystem ist als System noch hierarchischer als REST. Laut RAMLs Readme auf GitHub minimiert der Einsatz von \u201eRessourcentypen und Merkmalen\u201c von RAML die Wiederholung in einem RESTful API-Design und f\u00f6rdert die Konsistenz innerhalb und \u00fcber APIs. Als n\u00e4chstes werden wir uns mit dem RAML-Typsystem detaillierter besch\u00e4ftigen.<\/span><\/p>\r\n<h2><b>Unterst\u00fctzt keine Vererbung von Datenmodellen<\/b><\/h2>\r\n<p><span style=\"font-weight: 400;\">Die Objekttypen von RAML k\u00f6nnen andere Objekttypen vererben. Obwohl OpenAPI Schemas \u201ereferenzieren\u201c k\u00f6nnen, unterst\u00fctzt es technisch keine Vererbung wie RAML. Ich sage \u201etechnisch\u201c, weil Sie ein Schema mit einem anderen verkn\u00fcpfen k\u00f6nnen, indem Sie eine Schema-Referenz verwenden ( $ref Tag). RAML geht jedoch noch einen Schritt weiter. Sie k\u00f6nnen Beziehungen zwischen Datenmodellen aufbauen und die Wiederholung gemeinsamer Eigenschaften vermeiden. Bei OpenAPI sind Schemas nicht hierarchisch wie RAML miteinander verkn\u00fcpft. RAML-Typen haben eine \u201eechte\u201c Vererbung und k\u00f6nnen Eltern-Kind-Beziehungen zwischen Datenmodellen aufbauen.<\/span><\/p>\r\n<h3><b>Kein \u201evisuelles\u201c Werkzeug<\/b><\/h3>\r\n<p><span style=\"font-weight: 400;\">Der Einsatz von RAML als Datenmodell macht ihn visueller und leichter lesbar als OpenAPI. Sie k\u00f6nnen leicht die Beziehung zwischen den Typen und ihren gemeinsamen Eigenschaften sehen.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">RAML als visuelleres Werkzeug f\u00f6rdert die langfristige Planung von Dingen wie Mock-Server-Antworten, API-Konsolen und mehr. Es k\u00f6nnte auch bei der Antizipierung und Planung von zuk\u00fcnftigen API-Verbesserungen mit RAML hilfreich sein.<\/span><\/p>\r\n<h3><b>Fehlende Unterst\u00fctzung f\u00fcr andere Architekturen<\/b><\/h3>\r\n<p><span style=\"font-weight: 400;\">Nur OpenAPI kann RESTful APIs beschreiben. RAML hat den zus\u00e4tzlichen Vorteil, andere Architekturen au\u00dfer REST zu unterst\u00fctzen wie RPC oder SOAP, solange sie das HTTP-Protokoll verwenden. Die Flexibilit\u00e4t von RAML erlaubt es Ihnen, es als Dokumentationswerkzeug f\u00fcr Architekturen neben REST zu verwenden.<\/span><\/p>\r\n<h2><b>Beispiel von OpenAPI &#8211; Swagger Petstore<\/b><\/h2>\r\n<p><span style=\"font-weight: 400;\">Die beste Methode, OpenAPI zu lernen ist ein praktischer Ansatz. Bestimmte Tools erlauben es Ihnen, OpenAPI-Spezifikationen zu bearbeiten und dann API-Dokumentation zu generieren. Die Swagger Petstore Spezifikation ist ein Beispiel f\u00fcr ein OpenAPI Dokument.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">SwaggerUI ist ein Tool, das eine API-Definition analysiert, um Dokumentation zu generieren. SwaggerUI hat einen browserbasierten Editor (unten angezeigt). Sie k\u00f6nnen mit dem <a href=\"https:\/\/editor.swagger.io\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">SwaggerUI-Editor<\/a> experimentieren<\/span><\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium\" src=\"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/Swagger_UI_examples.png\" alt=\"Swagger UI examples\" width=\"1999\" height=\"1102\" \/><\/p>\r\n<p><span style=\"font-weight: 400;\">Auf der linken Seite ist die OpenAPI-Spezifikation im YAML-Format sichtbar. Wenn Sie \u00c4nderungen an der Spezifikation vornehmen, erzeugen diese \u00c4nderungen neue Dokumentation im rechten Fenster. Das rechte Panel ist das Swagger-Dokument, das direkt aus der OpenAPI-Spezifikation f\u00fcr das Petstore (Panel auf der linken Seites) generiert wird. Zum Beispiel f\u00fchrt das \u00c4ndern der Beschreibung eines Pfades dazu, dass das Swagger-Dokument mit den neuen \u00c4nderungen aktualisiert wird.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Wenn Sie Swaggers OpenAPI spec auf der linken Seite betrachten, sehen Sie alle Sektionen, die in diesem Blog-Artikel beschrieben sind, einschlie\u00dflich <\/span><b>openapi, info, servers, paths, components, tags<\/b><span style=\"font-weight: 400;\">, etc.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Swagger erzeugt eine Fehlermeldung, wenn Sie von der OpenAPI-Struktur abweichen oder etwas Ung\u00fcltiges eingeben. Die Fehlerbehandlung von Swagger betont den Ansatz, dass Sie das OpenAPI-Format beachten m\u00fcssen, damit die Dokumentation korrekt angezeigt wird. Sobald Sie sich mit dem Swagger Petstore vertraut gemacht haben, k\u00f6nnen Sie die Spezifikation f\u00fcr eine andere API in den Swagger-Editor einf\u00fcgen, um zu sehen, wie seine Informationen in SwaggerUI angezeigt werden.<\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">Zusammenfassend ist Swagger Editor eine gro\u00dfartige M\u00f6glichkeit, sich mit dem Schreiben von API-Definitionen vertraut zu machen und wie Werkzeuge die Spezifikation analysieren, um Dokumentation zu generieren.<\/span><\/p>\r\n<h2>Weiterlesen<\/h2>\r\n<p>F\u00fcr eine ausf\u00fchrlichere Dokumentation zum OpenAPI-Standard lesen Sie die offizielle SmartBear-Dokumentation f\u00fcr OpenAPI: https:\/\/swagger.io\/specification\/.<\/p>\r\n<div class=\"call_to_action border-0 bg-secondary\">\r\n<div class=\"call_to_text\">\r\n<p><span style=\"font-weight: 400;\">Sind Sie bereit, Ihre API-Dokumentation auf das n\u00e4chste Level zu bringen? Buchen Sie noch heute eine Demo mit Document360!<\/span><\/p>\r\n<a class=\"cta\" href=\"https:\/\/document360.com\/request-demo\/\" target=\"_blank\" rel=\"noopener\">Demo buchen<\/a><\/div>\r\n<div class=\"call_to_img\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2957\" src=\"https:\/\/document360.com\/wp-content\/themes\/document360\/images\/blog-call-to-action.png\" alt=\"Dokument360\" \/><\/div>\r\n<\/div>\r\n<div class=\"d360-faq\">\r\n<div class=\"row justify-content-center\">\r\n<div class=\"col-xl-12\">\r\n<h2 class=\"mb-lg-4\">H\u00e4ufig gestellte Fragen<\/h2>\r\n<ul id=\"FaqAccordion\" class=\"accordion mb-0\">\r\n\t<li class=\"mb-9\">\r\n<h3 class=\"mb-9\"><a data-bs-toggle=\"collapse\" data-bs-target=\"#FaqItem_9\" aria-expanded=\"true\" aria-controls=\"FaqItem_9\"> Was ist eine OpenAPI? <\/a><\/h3>\r\n<div id=\"FaqItem_9\" class=\"collapse show\" data-parent=\"#FaqAccordion\">\r\n<p>Eine offene API (auch als \u00f6ffentliche API bekannt) ist eine \u00f6ffentlich verf\u00fcgbare Programmierschnittstelle, die Entwicklern den Zugriff auf eine propriet\u00e4re Softwareanwendung oder einen Online-Dienst erm\u00f6glicht.<\/p>\r\n<\/div>\r\n<\/li>\r\n\t<li class=\"mb-10\">\r\n<h3 class=\"mb-10\"><a data-bs-toggle=\"collapse\" data-bs-target=\"#FaqItem_10\" aria-expanded=\"false\" aria-controls=\"FaqItem_10\"> Was ist der Unterschied zwischen privaten und Open APIs? <\/a><\/h3>\r\n<div id=\"FaqItem_10\" class=\"collapse\" data-parent=\"#FaqAccordion\">\r\n<p>Eine offene API hat Zugriffsbeschr\u00e4nkungen, da sie \u00f6ffentlich zug\u00e4nglich ist und von \u00fcberall im offenen Netz aufgerufen werden kann. Eine geschlossene API, auch als private API bekannt, ist andererseits im Internet nicht \u00f6ffentlich zug\u00e4nglich.<\/p>\r\n<\/div>\r\n<\/li>\r\n\t<li class=\"mb-12\">\r\n<h3 class=\"mb-12\"><a data-bs-toggle=\"collapse\" data-bs-target=\"#FaqItem_12\" aria-expanded=\"false\" aria-controls=\"FaqItem_12\">Was ist OpenAPI und REST API?<\/a><\/h3>\r\n<div id=\"FaqItem_12\" class=\"collapse\" data-parent=\"#FaqAccordion\">\r\n<p>Der OpenAPI Standard (OAS), fr\u00fcher als die Swagger Spezifikation bekannt, ist ein Format zur Beschreibung, Herstellung, Konsumierung und Visualisierung von RESTful Web-Diensten. Der REST API Standard beschreibt die Struktur und Syntax.<\/p>\r\n<\/div>\r\n<\/li>\r\n<\/ul>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<p><script type=\"application\/ld+json\">\r\n  {\r\n    \"@context\": \"https:\/\/schema.org\",\r\n    \"@type\": \"FAQPage\",\r\n    \"mainEntity\": [{\r\n      \"@type\": \"Question\",\r\n      \"name\": \"What is an OpenAPI?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"An open API (also known as a public API) is a publicly available application programming interface that allows developers to access a proprietary software application or online service programmatically.\"\r\n      }\r\n    },{\r\n      \"@type\": \"Question\",\r\n      \"name\": \"What is the difference between private and Open API?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"An open API has access constraints because it is open to the public and can be invoked from anywhere on the open internet. A closed API, also known as a private API, on the other hand, is not publicly available on the internet.\"\r\n      }\r\n    },{\r\n      \"@type\": \"Question\",\r\n      \"name\": \"What is OpenAPI and REST API?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"The OpenAPI Standard (OAS), formerly known as the Swagger Specification, is a format for describing, producing, consuming, and visualising RESTful web services. The REST API standard describes the structure and syntax.\"\r\n      }\r\n    }]\r\n  }\r\n  <\/script><\/p>","protected":false},"excerpt":{"rendered":"SmartBear, die Muttergesellschaft von Swagger: \u201cDie OpenAPI Spezifikation (OAS) definiert einen Standard, eine &#8230;","protected":false},"author":48,"featured_media":23786,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[741],"tags":[],"class_list":["post-23781","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-dokumentation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Open API: Funktionen, Vorteile und Anwendungsf\u00e4lle<\/title>\n<meta name=\"description\" content=\"Erfahren Sie mehr \u00fcber offene APIs, die Geschichte von API, API-Format, Datentypen, Strukturen, Schemas, St\u00e4rken und Beispiele\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/document360.com\/de\/blog\/open-api\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Open API: Funktionen, Vorteile und Anwendungsf\u00e4lle\" \/>\n<meta property=\"og:description\" content=\"Erfahren Sie mehr \u00fcber offene APIs, die Geschichte von API, API-Format, Datentypen, Strukturen, Schemas, St\u00e4rken und Beispiele\" \/>\n<meta property=\"og:url\" content=\"https:\/\/document360.com\/de\/blog\/open-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Document360\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/document360\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-28T12:29:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-04T11:27:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/What_is_Open_API-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1456\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Shakeer Hussain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@document360\" \/>\n<meta name=\"twitter:site\" content=\"@document360\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Shakeer Hussain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/\"},\"author\":{\"name\":\"Shakeer Hussain\",\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/#\\\/schema\\\/person\\\/981b34cea40c496ec278f9ce14f9f1af\"},\"headline\":\"Was ist Open API? Vorteile, Nachteile &#038; Beispiele\",\"datePublished\":\"2022-12-28T12:29:04+00:00\",\"dateModified\":\"2025-02-04T11:27:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/\"},\"wordCount\":2933,\"publisher\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/document360.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/What_is_Open_API-scaled.jpg\",\"articleSection\":[\"API-Dokumentation\"],\"inLanguage\":\"de-DE\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/\",\"url\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/\",\"name\":\"Open API: Funktionen, Vorteile und Anwendungsf\u00e4lle\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/document360.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/What_is_Open_API-scaled.jpg\",\"datePublished\":\"2022-12-28T12:29:04+00:00\",\"dateModified\":\"2025-02-04T11:27:32+00:00\",\"description\":\"Erfahren Sie mehr \u00fcber offene APIs, die Geschichte von API, API-Format, Datentypen, Strukturen, Schemas, St\u00e4rken und Beispiele\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/#primaryimage\",\"url\":\"https:\\\/\\\/document360.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/What_is_Open_API-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/document360.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/What_is_Open_API-scaled.jpg\",\"width\":2560,\"height\":1456,\"caption\":\"Was ist Open API? Vorteile, Nachteile & Beispiele\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/open-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/document360.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Was ist Open API? Vorteile, Nachteile &#038; Beispiele\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/document360.com\\\/de\\\/\",\"name\":\"Document360\",\"description\":\"The knowledge base that scales with your product.\",\"publisher\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/document360.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/#organization\",\"name\":\"Document360\",\"url\":\"https:\\\/\\\/document360.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/document360.com\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/document360.com\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/logo.png\",\"width\":270,\"height\":35,\"caption\":\"Document360\"},\"image\":{\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/document360\\\/\",\"https:\\\/\\\/x.com\\\/document360\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/document360\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/document360.com\\\/de\\\/#\\\/schema\\\/person\\\/981b34cea40c496ec278f9ce14f9f1af\",\"name\":\"Shakeer Hussain\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/92a3b5699bd8f23b4a8e7eb8ac3d527754a27ef947e70c469eb8e09d279c1bd0?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/92a3b5699bd8f23b4a8e7eb8ac3d527754a27ef947e70c469eb8e09d279c1bd0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/92a3b5699bd8f23b4a8e7eb8ac3d527754a27ef947e70c469eb8e09d279c1bd0?s=96&d=mm&r=g\",\"caption\":\"Shakeer Hussain\"},\"description\":\"Shakeer is the Lead Product Manager at Document360. Passionate product management professional and Certified Scrum Product Owner (CSPO). Actively collaborate across the organization creating product strategies, roadmaps and plans focused on supporting the business strategy.\",\"url\":\"https:\\\/\\\/document360.com\\\/de\\\/blog\\\/author\\\/shakeer-hussainkovai-co\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Open API: Funktionen, Vorteile und Anwendungsf\u00e4lle","description":"Erfahren Sie mehr \u00fcber offene APIs, die Geschichte von API, API-Format, Datentypen, Strukturen, Schemas, St\u00e4rken und Beispiele","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/document360.com\/de\/blog\/open-api\/","og_locale":"de_DE","og_type":"article","og_title":"Open API: Funktionen, Vorteile und Anwendungsf\u00e4lle","og_description":"Erfahren Sie mehr \u00fcber offene APIs, die Geschichte von API, API-Format, Datentypen, Strukturen, Schemas, St\u00e4rken und Beispiele","og_url":"https:\/\/document360.com\/de\/blog\/open-api\/","og_site_name":"Document360","article_publisher":"https:\/\/www.facebook.com\/document360\/","article_published_time":"2022-12-28T12:29:04+00:00","article_modified_time":"2025-02-04T11:27:32+00:00","og_image":[{"width":2560,"height":1456,"url":"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/What_is_Open_API-scaled.jpg","type":"image\/jpeg"}],"author":"Shakeer Hussain","twitter_card":"summary_large_image","twitter_creator":"@document360","twitter_site":"@document360","twitter_misc":{"Verfasst von":"Shakeer Hussain","Gesch\u00e4tzte Lesezeit":"14 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/document360.com\/de\/blog\/open-api\/#article","isPartOf":{"@id":"https:\/\/document360.com\/de\/blog\/open-api\/"},"author":{"name":"Shakeer Hussain","@id":"https:\/\/document360.com\/de\/#\/schema\/person\/981b34cea40c496ec278f9ce14f9f1af"},"headline":"Was ist Open API? Vorteile, Nachteile &#038; Beispiele","datePublished":"2022-12-28T12:29:04+00:00","dateModified":"2025-02-04T11:27:32+00:00","mainEntityOfPage":{"@id":"https:\/\/document360.com\/de\/blog\/open-api\/"},"wordCount":2933,"publisher":{"@id":"https:\/\/document360.com\/de\/#organization"},"image":{"@id":"https:\/\/document360.com\/de\/blog\/open-api\/#primaryimage"},"thumbnailUrl":"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/What_is_Open_API-scaled.jpg","articleSection":["API-Dokumentation"],"inLanguage":"de-DE"},{"@type":"WebPage","@id":"https:\/\/document360.com\/de\/blog\/open-api\/","url":"https:\/\/document360.com\/de\/blog\/open-api\/","name":"Open API: Funktionen, Vorteile und Anwendungsf\u00e4lle","isPartOf":{"@id":"https:\/\/document360.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/document360.com\/de\/blog\/open-api\/#primaryimage"},"image":{"@id":"https:\/\/document360.com\/de\/blog\/open-api\/#primaryimage"},"thumbnailUrl":"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/What_is_Open_API-scaled.jpg","datePublished":"2022-12-28T12:29:04+00:00","dateModified":"2025-02-04T11:27:32+00:00","description":"Erfahren Sie mehr \u00fcber offene APIs, die Geschichte von API, API-Format, Datentypen, Strukturen, Schemas, St\u00e4rken und Beispiele","breadcrumb":{"@id":"https:\/\/document360.com\/de\/blog\/open-api\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/document360.com\/de\/blog\/open-api\/"]}]},{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/document360.com\/de\/blog\/open-api\/#primaryimage","url":"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/What_is_Open_API-scaled.jpg","contentUrl":"https:\/\/document360.com\/wp-content\/uploads\/2022\/12\/What_is_Open_API-scaled.jpg","width":2560,"height":1456,"caption":"Was ist Open API? Vorteile, Nachteile & Beispiele"},{"@type":"BreadcrumbList","@id":"https:\/\/document360.com\/de\/blog\/open-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/document360.com\/de\/"},{"@type":"ListItem","position":2,"name":"Was ist Open API? Vorteile, Nachteile &#038; Beispiele"}]},{"@type":"WebSite","@id":"https:\/\/document360.com\/de\/#website","url":"https:\/\/document360.com\/de\/","name":"Document360","description":"The knowledge base that scales with your product.","publisher":{"@id":"https:\/\/document360.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/document360.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de-DE"},{"@type":"Organization","@id":"https:\/\/document360.com\/de\/#organization","name":"Document360","url":"https:\/\/document360.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/document360.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/document360.com\/wp-content\/uploads\/2018\/06\/logo.png","contentUrl":"https:\/\/document360.com\/wp-content\/uploads\/2018\/06\/logo.png","width":270,"height":35,"caption":"Document360"},"image":{"@id":"https:\/\/document360.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/document360\/","https:\/\/x.com\/document360","https:\/\/www.linkedin.com\/company\/document360"]},{"@type":"Person","@id":"https:\/\/document360.com\/de\/#\/schema\/person\/981b34cea40c496ec278f9ce14f9f1af","name":"Shakeer Hussain","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/secure.gravatar.com\/avatar\/92a3b5699bd8f23b4a8e7eb8ac3d527754a27ef947e70c469eb8e09d279c1bd0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/92a3b5699bd8f23b4a8e7eb8ac3d527754a27ef947e70c469eb8e09d279c1bd0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/92a3b5699bd8f23b4a8e7eb8ac3d527754a27ef947e70c469eb8e09d279c1bd0?s=96&d=mm&r=g","caption":"Shakeer Hussain"},"description":"Shakeer is the Lead Product Manager at Document360. Passionate product management professional and Certified Scrum Product Owner (CSPO). Actively collaborate across the organization creating product strategies, roadmaps and plans focused on supporting the business strategy.","url":"https:\/\/document360.com\/de\/blog\/author\/shakeer-hussainkovai-co\/"}]}},"_links":{"self":[{"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/posts\/23781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/comments?post=23781"}],"version-history":[{"count":0,"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/posts\/23781\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/media\/23786"}],"wp:attachment":[{"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/media?parent=23781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/categories?post=23781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/document360.com\/de\/wp-json\/wp\/v2\/tags?post=23781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}