Swagger

Swagger

HTTP-Webservices

Swagger ist eine Sammlung von Werkzeugen, um HTTP-Webservices zu entwerfen, zu erstellen, zu dokumentieren und zu nutzen. Swagger benutzt dazu den Beschreibungsstandard OpenAPI.

Swagger im Einsatz bei TYPONiels

Es wurden keine weiteren Informationen zum Einsatz von Swagger bei TYPONiels hinterlegt.

API DevelopmentBackend
Fortgeschrittener
Integration
4 Tags

Swagger und OpenAPI: Der Standard für API-Dokumentation

Swagger ist heute unter dem Namen OpenAPI Specification (OAS) bekannt und bildet den De-facto-Standard für die Beschreibung von HTTP-APIs. Die Spezifikation ermöglicht es, eine REST-API maschinenlesbar zu dokumentieren — inklusive aller Endpunkte, Parameter, Request-/Response-Formate und Authentifizierungsmethoden. Tools wie Swagger UI generieren daraus automatisch eine interaktive API-Dokumentation, die Entwickler direkt im Browser ausprobieren können.

Das Swagger-Toolset

Das Swagger-Ökosystem umfasst mehrere Werkzeuge: Swagger Editor zum Erstellen und Validieren von OpenAPI-Dokumenten, Swagger UI zur interaktiven Darstellung der API, Swagger Codegen zur automatischen Generierung von Server-Stubs und Client-SDKs in über 40 Programmiersprachen. Neben Swagger sind auch RAML und API Blueprint verbreitet — OpenAPI/Swagger hat sich jedoch als klarer Branchenstandard etabliert.

Einsatz bei TYPONiels

Für die Dokumentation eigener APIs und die Integration mit Drittanbieter-Services nutze ich Swagger/OpenAPI-Spezifikationen regelmäßig. Besonders bei der Entwicklung von REST-Backends mit Node.js, Fastify oder NestJS lässt sich die Dokumentation automatisch aus dem Code generieren, was die Aktualität der Dokumentation sicherstellt und Entwicklungszeit spart.

Entwicklung von APIs

Bei der Erstellung von APIs kann Swagger Tooling verwendet werden, um automatisch ein Open-API-Dokument basierend auf dem Code selbst zu erzeugen. Dies wird informell als Code-First- oder Bottom-up-API-Entwicklung bezeichnet. Während der Softwarecode selbst das Open-API-Dokument genau darstellen kann, halten viele API-Entwickler dies für eine veraltete Technik, da er die API-Beschreibung in den Quellcode eines Projekts einbettet und es für Nicht-Entwickler typischerweise schwieriger ist, dazu beizutragen. Swagger unterstützt auch JAX-RS.

Alternativ können Entwickler mit Swagger Codegen den Quellcode vom Open-API-Dokument entkoppeln und Client- und Servercode direkt aus dem Entwurf generieren. Obwohl dies als kompliziert angesehen wird, wurde es von vielen Branchenexperten als ein modernerer API-Workflow angesehen und erlaubt mehr Freiheit bei der Gestaltung der API, indem der Coding-Aspekt verschoben wird.

Interaktion mit APIs

Mit dem swagger-codegen-Projekt generieren Endanwender Client-SDKs direkt aus dem Open-API-Dokument, wodurch der Bedarf an von Menschen generiertem Client-Code reduziert wird. Seit August 2017 unterstützt das Projekt swagger-codegen mehr als 50 verschiedene Sprachen und Formate für die Erstellung des Client-SDKs.

Dokumentation von APIs

Wenn durch ein Open-API-Dokument beschrieben, kann Swagger Open-Source-Tooling verwendet werden, um direkt mit der API über die Swagger-Benutzeroberfläche zu interagieren. Dieses Projekt ermöglicht die direkte Anbindung von Live-APIs über eine interaktive, HTML-basierte Benutzeroberfläche.

Die Heimat von ... Swagger

Informationen zu Swagger lassen sich doch am Besten an offizieller Stelle finden.

swagger.io

Meine Links zu Swagger

Einige lesenswerte Ressourcen, die mir bei beim Einsatz von Swagger geholfen haben.

Passend zu Swagger

Folgende Technologien & Methoden könnten dich auch interessieren ...