Wenn Sie nach httpYac gesucht haben, möchten Sie wahrscheinlich eine Möglichkeit, HTTP-Anfragen aus Klartextdateien zu senden, die Sie in Git speichern, innerhalb von VS Code ausführen und in CI wiedergeben können. httpYac ist genau das: ein .http/.rest-Dateiläufer, der sowohl als VS Code-Erweiterung als auch als Node.js-Befehlszeilentool ausgeliefert wird. Dieser Leitfaden erklärt, wie es funktioniert, zeigt ein kleines Beispiel, wann es passt, und verweist auf einen GUI- plus CI-Pfad, wenn Sie Textdateien entwachsen sind. Für eine breitere Grundlage in dieser Disziplin lesen Sie unseren API-Testleitfaden.
Was httpYac tatsächlich ist
httpYac ist ein Open-Source-HTTP-Client, der auf dem .http-Dateiformat basiert. Sie schreiben Anfragen als Klartext und senden sie dann mit einem Tastendruck im Editor oder mit einem einzigen Befehl in Ihrem Terminal. Das Projekt befindet sich auf GitHub und verfügt über eine vollständige Dokumentation unter httpyac.github.io.

Die Kernidee ist einfach. Eine Anfrage lebt in einer Textdatei neben Ihrem Code. Sie versionieren sie mit Git. Sie überprüfen sie in einem Pull Request. Sie führen sie auf die gleiche Weise aus, egal ob Sie ein Mensch in einem Editor oder ein CI-Job auf einem Build-Server sind. Dieses Git-native, Klartext-Modell ist die größte Stärke von httpYac, und es ist der Grund, warum viele Backend-Entwickler darauf zurückgreifen.
Das Tool besteht aus zwei Teilen:
- Die VS Code-Erweiterung (httpYac) bietet Ihnen eine „Anfrage senden“-Code-Lens über jeder Anfrage, Antwortvorschauen und Umgebungswechsel innerhalb des Editors.
- Die CLI (
httpyac, installiert über npm) führt dieselben Dateien im Headless-Modus aus. Das macht es CI-freundlich: Die Dateien, die Sie lokal getestet haben, sind die Dateien, die Ihre Pipeline ausführt.
Da beide Oberflächen dieselben .http-Dateien lesen, gibt es keinen separaten Exportschritt. Was Sie committen, wird ausgeführt.
Das .http-Dateiformat
Eine .http-Datei ist eine Liste von Anfragen, die durch ### getrennt sind. Jede Anfrage liest sich fast wie der rohe HTTP-Text, den sie sendet. Hier ist ein kleines Beispiel.
### Get a user
GET https://api.example.com/users/42
Accept: application/json
### Create a user
# @name createUser
POST https://api.example.com/users
Content-Type: application/json
{
"name": "Ada Lovelace",
"email": "ada@example.com"
}
### Use a value from the previous response
GET https://api.example.com/users/{{createUser.response.body.$.id}}
Authorization: Bearer {{token}}
Hier passieren einige Dinge. Die ###-Zeilen trennen Anfragen. Der Kommentar # @name benennt eine Anfrage, sodass Sie später auf ihre Antwort verweisen können. Die Platzhalter {{...}} ziehen Variablen ein, einschließlich Werten, die aus früheren Antworten verkettet sind. Dieses Format wird mit der beliebten REST Client-Erweiterung geteilt, sodass Dateien oft mit geringfügigen Änderungen zwischen den beiden verschoben werden können.
Variablen und Umgebungen
httpYac liest Variablen aus .env-Dateien, aus einer http-client.env.json-Datei und aus Inline-Definitionen innerhalb der Anfragedatei selbst. Sie können einen Satz von Werten für die lokale Umgebung, einen anderen für Staging und einen weiteren für die Produktion beibehalten und dann zwischen ihnen wechseln, ohne die Anfrage bearbeiten zu müssen.
@host = https://api.staging.example.com
### Login
# @name login
POST {{host}}/auth/login
Content-Type: application/json
{ "user": "{{USERNAME}}", "pass": "{{PASSWORD}}" }
Geheimnisse bleiben in .env-Dateien, die Sie von Git fernhalten, sodass die Anfragedatei selbst sicher committet werden kann. In CI stammen dieselben Variablen aus Umgebungsvariablen oder Pipeline-Geheimnissen.
Skripting und Zusicherungen
Hier geht httpYac über einen einfachen Anfragesteller hinaus. Sie können JavaScript in eine Anfrage einbetten, um Daten vor dem Ausführen einzurichten oder die Antwort danach zu überprüfen. Pre-Request- und Post-Request-Blöcke werden in einem Node-Kontext ausgeführt, sodass Sie eine Signatur berechnen, ein Token speichern oder eine Zusicherung auf den Body machen können.
### Login and capture token
# @name login
POST {{host}}/auth/login
Content-Type: application/json
{ "user": "{{USERNAME}}", "pass": "{{PASSWORD}}" }
{{
// post-request script
test("status is 200", () => {
client.assert.strictEqual(response.statusCode, 200);
});
exports.token = response.parsedBody.token;
}}
Das erfasste token steht dann der nächsten Anfrage als {{token}} zur Verfügung. Das Skripting-Modell ist flexibel, was ein Teil der Attraktivität für Entwickler ist, die Logik wünschen, ohne ein vollständiges Test-Framework aufsetzen zu müssen.
httpYac in CI ausführen
Die CLI ist die Brücke von „funktioniert auf meinem Rechner“ zu „läuft in der Pipeline“. Installieren Sie sie und weisen Sie sie auf Ihre Dateien.
npm install -g httpyac
# Run a single file
httpyac send api/users.http
# Run every request in a folder, pick an environment, fail on assertion errors
httpyac send --all --env staging "api/**/*.http"
httpYac beendet sich mit einem Rückgabewert ungleich Null, wenn eine Zusicherung fehlschlägt, was ein CI-Job benötigt, um einen Build als fehlerhaft zu kennzeichnen. Es kann JUnit-ähnliche Ausgaben für Test-Reporter generieren, sodass die Ergebnisse in Ihrem CI-Dashboard erscheinen, anstatt in Protokollen vergraben zu sein. Fügen Sie diesen Befehl in GitHub Actions, GitLab CI oder Jenkins ein, und dieselben Dateien, die Sie in VS Code bearbeitet haben, sichern nun Ihre Merges.
Wann httpYac verwendet werden sollte
httpYac passt zu einer bestimmten Art von Team und Workflow. Greifen Sie darauf zurück, wenn die meisten dieser Punkte zutreffen.
| Situation | Warum httpYac passt |
|---|---|
| Sie arbeiten in VS Code | Die Erweiterung hält Anfragen neben Ihrem Code, kein Kontextwechsel |
| Sie möchten Anfragen in Git haben | Klartext lässt sich sauber diffen und in PRs überprüfen |
| Ihr Team ist mit Code vertraut | Skripting und .env-Dateien setzen eine gewisse Entwicklerkompetenz voraus |
| Sie führen eine Handvoll gezielter Prüfungen durch | Einfach hinzuzufügen, keine Plattform zu übernehmen |
| Sie verwenden bereits REST Client-Dateien | Gemeinsames Format erleichtert den Wechsel |
Es passt weniger gut, wenn Nicht-Entwickler Anfragen ausführen oder bearbeiten müssen, wenn Sie eine visuelle Übersicht über große Anfragesammlungen wünschen, wenn Sie gemeinsame Umgebungen und Team-Synchronisierung ohne manuelle Datei-Konfiguration benötigen oder wenn Sie umfangreichere Berichte und Lasttests an einem Ort wünschen. Die Klartext-Ergonomie ist ein Feature, bis die Suite wächst und das Team breiter wird.
httpYac vs. eine GUI- und CI-Plattform
httpYac ist ein Textdateien-Runner. Apidog ist ein anderes Modell: eine GUI-zentrierte API-Plattform, die auch in CI läuft. Keines ist im abstrakten Sinne „besser“; sie lösen das Problem von entgegengesetzten Enden. Seien Sie sich eines Punktes von vornherein im Klaren: Apidog führt .http-Dateien nicht nativ aus oder parst sie nicht. Wenn Ihre Quelle der Wahrheit ein Ordner mit .http-Dateien ist, führt httpYac diese direkt aus, und das ist sein ehrlicher Vorteil.
Hier ist, wie die beiden in den Punkten verglichen werden, die normalerweise die Wahl entscheiden.
| Funktion | httpYac | Apidog |
|---|---|---|
| Anfragequelle | Einfache .http/.rest-Dateien in Git |
Visuelle Anfragen in einem Workspace, plus OpenAPI-Import |
| Bearbeitungsoberfläche | Text in VS Code oder jedem Editor | Visueller Builder mit Formularfeldern und Schema-Kenntnis |
| Variablen und Umgebungen | .env / JSON-Dateien, Inline-Variablen |
Geteilte, verwaltete Umgebungen mit Team-Synchronisierung |
| Zusicherungen | JavaScript in Anfragenskripten | Visuelle Zusicherungen plus Skripting |
| CI-Ausführung | httpyac send |
apidog run |
| Mocking und Dokumentation | Nicht integriert | Integrierter Mock-Server und automatisch generierte Dokumentation |
| Am besten geeignet für | Entwickler, die Git-native Textdateien wünschen | Teams, die Design, Tests, Mocking und Dokumentation an einem Ort wünschen |
Wenn Sie die visuelle Seite bevorzugen, können Sie mit Apidog Anfragen erstellen und organisieren, ohne Dateien manuell zu schreiben, und dann dieselben Szenarien in CI mit apidog run ausführen. Die Apidog-Run-Referenz führt durch den Befehl, Umgebungs-Flags und Reporter. Sie erhalten auch einen Mock-Server und eine Dokumentation im selben Arbeitsbereich, was ein Textdateien-Runner anderen Tools überlässt. Wenn Mocking ein echtes Bedürfnis ist, deckt unsere Zusammenstellung von REST-Endpoint-Mocking-Tools die Optionen ab.
Die ehrliche Zusammenfassung: httpYac gewinnt, wenn Ihr gesamter Workflow „Dateien in Git, Ausführung im Editor, Wiederholung in CI“ ist und Ihr Team ausschließlich aus Entwicklern besteht. Apidog gewinnt, wenn Sie einen gemeinsamen visuellen Arbeitsbereich, verwaltete Umgebungen, Mocking und Dokumentation neben CI-Läufen wünschen. Einige Teams verwenden sogar beides, httpYac für schnelle lokale Prüfungen und Apidog als Team-Wahrheitsquelle.
Häufig gestellte Fragen
Ist httpYac kostenlos?
Ja. httpYac ist Open Source unter der MIT-Lizenz. Sowohl die VS Code-Erweiterung als auch die CLI können kostenlos installiert und verwendet werden. Es gibt keine kostenpflichtige Stufe oder Kontoanforderung, um Anfragen lokal oder in CI auszuführen.
Wie unterscheidet sich httpYac von der REST Client-Erweiterung?
Beide verwenden dasselbe .http-Dateiformat, sodass Dateien weitgehend portabel sind. httpYac fügt eine eigenständige CLI für Headless- und CI-Läufe, eine breitere Umgebungsbehandlung und ein reichhaltigeres Skripting- und Zusicherungsmodell hinzu. REST Client ist nur für den Editor. Wenn Sie Anfragen nur innerhalb von VS Code senden, funktionieren beide; wenn Sie dieselben Dateien in einer Pipeline ausführen müssen, ist die CLI von httpYac der entscheidende Unterschied. Für einen breiteren Überblick über Editor-Tools siehe unsere Liste der VS Code-Plugins für API-Tests.
Kann httpYac Postman ersetzen?
Für einen Entwickler, der Klartext-Anfragen in Git und CI-Läufe wünscht, deckt httpYac vieles ab, wofür Postman verwendet wird, abzüglich der GUI, geteilten Sammlungen und integrierten Mocking-Funktionen. Wenn Ihr Team einen visuellen Arbeitsbereich, verwaltete Umgebungen und Mocking zusammen benötigt, passt eine Plattform wie Apidog besser. Vergleichen Sie Optionen in unserer Übersicht der API-Test-Clients.
Unterstützt httpYac GraphQL und gRPC?
httpYac verarbeitet GraphQL-Anfragen und mehrere Protokolle über reines REST hinaus, einschließlich einiger Streaming-Fälle. Überprüfen Sie die offiziellen Dokumente für die aktuelle Protokollliste, da sich die Unterstützung zwischen den Veröffentlichungen weiterentwickelt. Für REST deckt das .http-Format die gängigen Verben, Header, Bodies und Authentifizierungs-Flows von Haus aus ab.
Fazit
httpYac ist eine klare Antwort auf ein klares Bedürfnis: HTTP-Anfragen aus Klartextdateien senden, sie in VS Code ausführen und in CI wiedergeben, ohne einen separaten Exportschritt. Sein Git-natives Modell, Skripting und die kostenlose CLI machen es zu einer starken Wahl für entwicklerintensive Teams, die ihre Anfragen im Repository speichern möchten. Der Kompromiss ist, dass alles Code, Dateien und Entwicklerkompetenz voraussetzt.
Wenn Sie lieber Anfragen visuell erstellen, verwaltete Umgebungen teilen, Endpunkte mocken und Dokumente generieren möchten, während Sie weiterhin Tests in CI ausführen, deckt Apidog dies in einem einzigen Arbeitsbereich ab. Sie können Apidog herunterladen und Ihre Suite mit apidog run ausführen, oder httpYac für schnelle lokale Überprüfungen behalten und Apidog als die Quelle der Wahrheit für Ihr Team nutzen. Wählen Sie das Modell, das zu der Arbeitsweise Ihres Teams passt.
