Bruno ist ein quelloffener API-Client, der für effiziente Tests und Kollaboration auf Git-Level entwickelt wurde. Allerdings kann das manuelle Erstellen von API-Collections mühsam sein, insbesondere dann, wenn man in Symfony viele Routen definiert hat. Wäre doch super, wenn man Bruno-Collections automatisch aus Symfony-Routen generieren könnte ... Genau das macht das Symfony Package opctim/symfony-bruno-generator.
In diesem Beitrag schauen wir uns an, wie das Symfony-Bundle dabei hilft, API-Collections effizient zu erstellen – und so für mehr Konsistenz in Projekten sorgt und gleichzeitig wertvolle Entwicklungszeit spart.
Features
opctim/symfony-bruno-generator
ist ein Symfony-Bundle, das opctim/bruno-lang
verwendet. Das ist eine Framework-agnostische bru-lang-Implementierung für die programmatische Erstellung von Bruno-Collections. Das Symfony-Bundle scannt automatisch alle Controller, extrahiert Routeninformationen und generiert eine Bruno-Sammlung in einem standardisierten Format.
Automatische Route-Discovery: Erkennt und verarbeitet alle definierten Symfony-Routen
Minimale Benutzereingabe: Führt interaktiv durch die Erstellung von API-Collections
Anpassbare Base-URL: Erstellt automatisch ein Local-Environment in der Bruno-Collection
Um symfony-bruno-generator
zu verwenden, installiert man das Paket mit Composer:
Ohne symfony/flex
muss das Bundle händisch in config/bundles.php
registriert werden:
Nutzung
Dieser Befehl:
php bin/console make:bruno
Scannt alle Controller im Symfony Projekt (Unterhalb des App\ Namespaces)
Extrahiert verfügbare Routen und Methoden (GET, POST, etc.)
Schreibt Request-Daten in eine strukturierte Bruno-Sammlung (behält die Controller-Ordnerstruktur in Bruno bei)

Interaktiver CLI-Workflow
Während der Ausführung führt der Befehl folgende Schritte aus:
Prüfen, ob bereits eine Bruno-Collection vorhanden ist
Falls nicht, anbieten, eine neue Collection zu erstellen
Nach einem Namen und einer Basis-URL für die Collection fragen
Erkannte Controller auflisten
Abfragen, für welche Requests eine Generierung erfolgen soll
Beispiel-Output:
Zukünftige Verbesserungen
Während die aktuelle Version effizient Routen extrahiert und nur einfache Requests generiert, könnten zukünftige Verbesserungen Folgendes umfassen:
Automatische Erkennung von Request Body Strukturen
Extraktion von Abfrageparametern für GET-Anfragen
Unterstützung für API-Plattform-Metadaten
Benutzerdefinierte Header-Konfigurationen für die Authentifizierung
Fazit
Mit opctim/symfony-bruno-generator
entfällt die manuelle Pflege der API-Collection. Das Paket ermöglicht es Symfony-Entwicklern, Bruno-Requests mühelos zu generieren – konsistent und zeitsparend.
Wer den API-Entwicklungsprozess effizienter gestalten möchte, sollte einen Blick auf das Paket werfen. Für mehr Kontrolle über Bruno-Collections bietet sich außerdem opctim/bruno-lang
an.
https://github.com/opctim/symfony-bruno-generator
https://github.com/opctim/bruno-lang
🚀 Viel Spaß beim Generieren!
Diesen Artikel teilen