Was ist Swagger? OpenAPI-Specification, Tools, Beispiele
Swagger ist eine Suite von API-Tools rund um die OpenAPI Spec — REST-APIs designen, dokumentieren, mocken, testen. Inklusive UI, Editor, Codegen, Hub.
Was ist Swagger?
Swagger ist ein Ökosystem von Open-Source-Tools rund um die OpenAPI Specification (OAS) zum Designen, Dokumentieren und Konsumieren von REST-APIs. Ursprünglich von SmartBear entwickelt, wurde die Spec 2016 an die Linux Foundation gespendet und in OpenAPI umbenannt — aber der Name Swagger blieb für das Tooling.
Die OpenAPI Specification (aktuell 3.1) ist ein YAML- oder JSON-Dokument, das eine REST-API beschreibt: Endpoints, Parameters, Request/Response-Schemas, Authentication, Examples. Tools generieren dann Dokumentation, Client-SDKs, Server-Stubs, Mock-Server und Tests aus dieser Spec.
Swagger vs OpenAPI: was ist der Unterschied?
| Term | Was es bedeutet |
|---|---|
| OpenAPI Specification (OAS) | Der Standard / Format zur Beschreibung von REST-APIs |
| Swagger | Der ursprüngliche Name (vor 2016) der Spec; jetzt die Marke für SmartBears Tooling |
| Swagger UI | Open-Source-Tool, das OpenAPI-Specs als interaktive HTML-Docs rendert |
| Swagger Editor | Browser-basierter Editor zum Schreiben von OpenAPI-Specs mit Live-Preview |
| Swagger Codegen | Generiert Client-SDKs und Server-Stubs in 40+ Sprachen aus OpenAPI-Specs |
| Swagger Hub | SmartBears gehostete Plattform für kollaboratives API-Design |
Anatomie einer OpenAPI-Spec
openapi: 3.1.0
info:
title: Pet Store API
version: 1.0.0
servers:
- url: https://api.petstore.example.com/v1
paths:
/pets:
get:
summary: List all pets
responses:
'200':
description: A paged list of petsSwagger-Ökosystem-Tools
| Tool | Zweck | Open Source? |
|---|---|---|
| Swagger UI | Specs als interaktive Docs rendern | Ja |
| Swagger Editor | Specs mit Live-Validierung schreiben | Ja |
| Swagger Codegen | Clients/Server-Stubs generieren | Ja |
| OpenAPI Generator | Fork von Codegen, aktivere Entwicklung | Ja |
| Swagger Hub | Gehostetes kollaboratives API-Design | Nein |
| Stoplight Studio | Visueller OpenAPI-Editor | Ja |
| Redoc | Alternativer Spec-Renderer | Ja |
| Prism | Mock-Server aus OpenAPI-Spec | Ja |
| Spectral | OpenAPI-Linter | Ja |
Warum Swagger / OpenAPI nutzen?
- Single Source of Truth.
- Design-first APIs.
- Auto-generierte Client-SDKs.
- Interaktive Docs.
- Mock-Server.
- Contract-Testing.
- Standardisiertes Format.
- Code-first oder Design-first.
OpenAPI 3.0 vs 3.1: was hat sich geändert?
| Aspekt | OpenAPI 3.0 | OpenAPI 3.1 |
|---|---|---|
| JSON-Schema-Kompatibilität | Subset | Full 2020-12 |
| Webhooks | Nicht unterstützt | First-class |
| Examples | Single pro Response | Multiple pro Response |
| Nullable | nullable: true | type: [string, null] |
Häufige OpenAPI-Workflows
Design-first (empfohlen)
- OpenAPI-Spec kollaborativ schreiben.
- Mit Stakeholdern reviewen.
- Server-Stubs + Client-SDKs generieren.
- Business-Logik in Stubs implementieren.
- Spec für Contract-Tests in CI nutzen.
Code-first
- Code mit Framework-spezifischen Decorators annotieren.
- Framework generiert OpenAPI-Spec at Build-Time oder Runtime.
- Spec serviert at
/openapi.json. - Swagger UI rendert interaktive Docs.
Fallstricke und Best Practices
- Spec driftet von Realität.
- Fehlende Examples.
- Inkonsistente Naming.
- Zu tiefes Nesting.
- Auth misdocumented.
- Versioning ignoriert.
FAQ: Swagger / OpenAPI
Ist Swagger kostenlos?
Die Open-Source-Tools sind kostenlos. Swagger Hub hat freie und bezahlte Tiers.
Sollte ich Swagger oder Postman nutzen?
Verschiedene Zwecke. Swagger/OpenAPI ist das Spec-Format; Postman ist für Testing/Exploring.
Sollte ich Design-first oder Code-first nutzen?
Design-first für stabile, öffentliche APIs. Code-first für interne/schnell-iterierende APIs.
Was ersetzt Swagger Codegen?
OpenAPI Generator — ein Community-Fork mit aktiverer Entwicklung.
Kann ich Swagger für GraphQL oder gRPC nutzen?
Nein — OpenAPI ist REST-spezifisch.
Wie versioniere ich meine API?
URL-Versioning (/v1/users) oder Header-Versioning.
Load-Testen Sie Ihre Swagger-dokumentierte API mit LoadFocus
Wenn Sie eine OpenAPI-Spec haben und die Implementation load-testen wollen, läuft LoadFocus JMeter- und k6-Scripts gegen Ihre echte API aus 25+ Regionen mit bis zu 12.500 VUs. Registrieren bei loadfocus.com/signup.
Verwandte LoadFocus-Tools
Setze dieses Konzept mit LoadFocus in die Praxis um — derselben Plattform, die alles antreibt, was du gerade gelesen hast.