Mit dem Aufkommen der RESTful-APIs ist auch die Anzahl der Tools sprunghaft angestiegen, um diese Schnittstellen zu erstellen, zu testen und zu managen. Egal, ob Sie ein Neueinsteiger in Sachen APIs sind oder ein Experte unter Zeitdruck: Eine ganze Reihe von Services unterstützt Sie dabei, Ihre Schnittstelle vom Konzept zum Produktiveinsatz zu bringen. Das Beste: Viele dieser Lösungen kosten Sie keinen Cent.
API-Tools: 12 Optionen für Testing, Development und Design
Im Folgenden finden Sie eine Auswahl kostenloser Services, die Sie bei diversen Schnittstellen-Tasks unterstützen können.
Das kostenlose AWS-Kontingent stellt Entwicklern kostenlosen Zugriff für die meisten Services zur Verfügung, darunter auch Amazons API Gateway. Das ist in der Gratis-Version auf eine Million API-Aufrufe pro Monat begrenzt und für maximal ein Jahr nutzbar - das reicht jedoch für den Anfang.
Mit der kostenpflichtigen Vollversion von Amazon API Gateway können Sie zudem Front-End-Schnittstellen für Applikationen erstellen, die auf EC2, Lambda oder einer Web-App basieren. Meta-Tools wie Traffic-Management, API-Versionskontrolle und -Monitoring gehören dann ebenfalls zum Paket.
Der Schnittstellen-Monitoring und -Alerting-Service APIMetrics umfasst:
einen visuellen API-Designer,
Support für REST- und SOAP-APIs (was den Wechsel von letzteren zu ersteren erleichtert),
ein Workflow-System, mit dem mehrere API-Aufrufe nacheinander ausgelöst werden können und
diverse Dashboard-Optionen.
Das Tool ist für eine 14-tägige Testphase kostenlos nutzbar.
Einfache Tests, Assertions und das Monitoring von produktiven APIs - all das macht Assertible möglich. Dabei lassen sich Schnittstellen aus gängigen Drittanbieterformaten wie Swagger, Postman und curl importieren, Tests sich nach verschiedenen Kriterien gruppieren sowie mit unterschiedlichen Umgebungsparametern durchführen. Wenn Sie außerhalb Ihrer Standarddomäne testen, steht eine optionale SSL-Validierung zur Verfügung. Tests mit Assertible laufen entweder nach Zeitplan oder mit Hilfe von Trigger-Events an, der Teststatus ist über Github veröffentlichbar.
Die persönliche Nutzung von Assertible ist kostenlos, erlaubt jedoch nur zwei Webdienste, zehnt Tests pro Dienst und 1.000 gespeicherte Ergebnisse. Die kostenpflichtigen Tarife erhöhen die Nutzungsobergrenzen und erlauben häufigere Tests.
Bei BlazeMeter handelt es sich um einen Load Testing Service für Schnittstellen, der Reportings in Echtzeit liefert. Zu den weiteren Vorzügen dieser Lösung gehören geo-distributed Load Testing (Server-Datenverkehr auf mehreren Kontinenten generieren) und Support für Apache-JMeter-Tests. Um die Tests realistischer zu gestalten, lassen sich Mock Services und Testdaten nutzen.
Mit der kostenlosen Version von BlazeMeter können Sie zehn Tests pro Monat durchführen (maximal 20 Minuten pro Test), mit bis zu 50 gleichzeitigen Benutzern, einem gemeinsamen Load Generator und einer Datenvorhaltungszeit von einer Woche.
Die Webseite httpbin.org stellt eine Reihe von HTTP-API-Endpunkt-Responses zur Verfügung, die zu Testing- oder Debugging-Zwecken nützlich sind. Statt diese Antworten über eine Web-Oberfläche zu konfigurieren, kommen dazu URL-Parameter zum Einsatz. Auf diese Weise kann der Dienst leichter automatisiert genutzt werden.
Mit dem "/links/:n"-Endpoint können Sie zum Beispiel eine Webseite mit n HTML-Links anfordern - beispielsweise um einen Web Scraper zu testen. Die zugrundeliegende Software ist auch als Python-Paket mit einer MIT-ähnlichen Lizenz verfügbar, so dass Sie sie lokal hosten können.
Ähnlich wie AWS gibt es auch in der IBM Cloud einen kostenlosen "Tier", der Entwicklern einen Vorgeschmack auf verfügbare Funktionen gibt, aber nicht umfangreich genug ist, um vollständige Produktionsanwendungen zu erstellen. Auch bei IBM gehört ein Tool für das Schnittstellen-Management zum Gratis-Angebot: IBM API Connect.
Das war ursprünglich nur ein Tool, um APIs zu erstellen und in den Live-Code einzubinden. Inzwischen umfasst es auch Tools, um Richtlinien im Zusammenhang mit APIs durchzusetzen, Composite-Designs zu verwirklichen und Cloud Services mit Enterprise-Systemen zu integrieren. Auf der kostenlosen Stufe stehen pro Monat bis zu 50.000 API-Aufrufe zur Verfügung - mehr als genug, um sich einen ersten Eindruck zu verschaffen. Dabei ist zu beachten, dass die kostenlosen Services der IBM Cloud nach dreißig Tagen Inaktivität automatisch gelöscht werden.
Wenn Sie ein API-Reading-System mit Fake-Daten testen möchten, bietet JSONPlaceholder dafür eine Reihe von Endpunkten in verschiedenen Arrangements: Message-Board-Posts, Kommentare, Bilder, To-Do-Items und so weiter. Alle Ergebnisse werden im JSON-Format ausgegeben und alle HTTP-Methoden (GET, POST, PUT, etc.) unterstützt.
Dass Ihre öffentlich zugängliche API nicht sofort nach der Live-Schaltung den Geist aufgibt, können Sie nur sicherstellen, wenn Sie testen, wie gut die Schnittstelle unter hoher Last funktioniert. Registrieren Sie den Endpunkt eines Zielhosts mit der Webschnittstelle oder API von Loader und die Testergebnisse werden Ihnen per Browser in Echtzeit übermittelt. Mit der kostenlosen Version des Dienstes können Sie einen Ziel-Host jeweils eine Minute lang testen - mit bis zu 10.000 simulierten Clients und zwei URLs pro Test.
Mockable ist ein weiterer schneller und unkomplizierter Dienst, um REST- und SOAP-Endpunkte zu simulieren. Die Basisversion ist unbegrenzt kostenlos nutzbar und bietet HTTPS-Unterstützung für Mocks. Allerdings werden alle Routen, die innerhalb von drei Monaten nicht verwendet werden, gelöscht, Protokolle nur 24 Stunden lang (oder bis zu einer Größe von 5 MB) gespeichert und Sie dürfen nur bis zu zehn Mocks pro (dreiköpfigem) Team erstellen. Das Beste: Sie müssen sich nicht einmal registrieren, um Mockable zu testen. Temporäre Konten werden automatisch für Sie erstellt, sobald Sie die Admin-Konsole öffnen.
Mit Mockbin, einem Service des API-Gateway-Anbieters Kong, können Sie Mock-Endpunkte für Testing-Zwecke erstellen. Endpunkte können beliebige HTTP-Methoden verwenden, Ergebnisse in JSON, YAML, XML oder HTML ausgeben, CORS-Header an Antworten anhängen sowie den Call Traffic protokollieren und untersuchen. Um HTTP-Antworten automatisch zu generieren, können auch Daten im HAR-Format verwendet werden, so dass die Mocks den tatsächlichen Ergebnissen, die von einem Live-Server zurückgegeben werden, besser entsprechen. Mockbin ist auch als Open-Source-Projekt verfügbar.
Mit dem webbasierten Toolkit Runscope können Sie testen, ob Ihre APIs ordnungsgemäß funktionieren, gültige Daten zurückgeben und "debugged" werden können. Testpläne lassen sich unter Verwendung des Swagger-2.0-API-Definitionsstandards sowie einer Reihe anderer gängiger Formate importieren. Eine kostenlose, 14-tägige Testversion ist für alle Preispläne (außer der maßgeschneiderten Enterprise-Stufe) verfügbar.
Swagger Inspector von Smartbear ähnelt dem Angebot von httpbin und ermöglicht es, APIs direkt im Browser abzufragen und die Ergebnisse für eine spätere Überprüfung zu speichern. Swagger Inspector funktioniert dabei nicht nur mit REST-APIs, sondern unterstützt auch SOAP und GraphQL. Die Dokumentation für Ihre API lässt sich auf der Grundlage der durchgeführten Tests automatisch generieren. Der kostenlose Plan unterstützt drei API-Definitionen. (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.