소개
Bowire는 Küstenlogik에서 개발한 .NET 기반의 인터랙티브 멀티프로토콜 API 브라우저이자 CLI 도구입니다. gRPC, REST, GraphQL, SignalR, MCP, SSE, WebSocket, MQTT, Socket.IO, OData, Surgewave, Apache Kafka, DIS, UDP 등 다양한 프로토콜의 엔드포인트를 탐색하고 호출할 수 있는 워크벤치 형태의 API 테스트 환경을 제공합니다. 별도의 계정이나 클라우드 의존성 없이 로컬에서 실행되며, ASP.NET 앱에 임베드하거나 독립형 CLI로도 사용할 수 있습니다.
상세정보
다중 프로토콜 지원
gRPC(리플렉션·트랜스코딩), REST(OpenAPI/Swagger), GraphQL, SignalR, MCP, SSE, WebSocket, MQTT, Socket.IO, OData를 기본 지원하며, 추가로 Küstenlogik Surgewave, Apache Kafka, IEEE 1278 DIS, raw UDP에 대한 플러그인이 포함됩니다.
확장 프로토콜 패키지
JSON-RPC 2.0, NATS(core + JetStream), SOAP 1.1/1.2, Pulsar 등 별도 프로토콜 패키지로 기능을 확장할 수 있습니다. JSON-RPC는 배치, 알림, 위치/이름 기반 파라미터를 HTTP 또는 WebSocket 위에서 처리하고, MQTT는 3.1.1/5.0을, Socket.IO는 v2/v3/v4 네임스페이스·룸·ack·바이너리 이벤트를, OData는 CSDL 디스커버리와 타입 기반 filter/orderby/expand·배치 요청을 지원합니다.
워크벤치 인터페이스
왼쪽 탐색 패널에서 그룹(DEFAULT → GetPort-calls 등)과 요청 항목(List 등)을 선택하면 오른쪽에 REQUEST 탭과 RESPONSE 탭이 표시됩니다. Payload 섹션에서 JSON 요청 페이로드를 편집하고 Execute 버튼으로 전송할 수 있으며, 응답 탭에서는 Response Metadata, Test results, JSON 배열 형태의 결과 데이터를 한 화면에서 확인할 수 있습니다.
응답 결과 시각화
하단 상태 표시(OK)와 함께 응답 시간이 밀리초 단위로 표시되어 요청 결과를 빠르게 파악할 수 있습니다.
임베디드 모드
dotnet add package Kuestenlogik.Bowire로 NuGet 패키지를 추가한 뒤 ASP.NET 앱에서 app.MapBowire();를 호출하면 /bowire 경로에 워크벤치가 마운트됩니다. 호스트의 IServiceProvider에서 REST 라우트, gRPC 리플렉션, SignalR 허브, 커스텀 프로토콜을 자동으로 디스커버리합니다.
로컬 데이터 보관
녹화, 환경, 자격 증명이 ~/.bowire/ 아래에 로컬로 유지되어 오프라인 환경에서도 일관된 작업 환경을 유지할 수 있습니다.
설치 방법
- Windows:
winget install --id KuestenLogik.Bowire --exact - 크로스 플랫폼:
dotnet tool install -g Kuestenlogik.Bowire.Tool - 그 외: Windows MSI, 포터블 ZIP, Docker 이미지, Chocolatey(
choco install bowire)가 공식 다운로드 페이지에서 제공됩니다.
임베디드 모드 설정
- ASP.NET 프로젝트에
Kuestenlogik.BowireNuGet 패키지를 추가합니다. Program.cs에서app.MapBowire();를 호출하여/bowire경로에 워크벤치를 마운트합니다.- 호스트의
IServiceProvider를 통해 서비스가 자동으로 디스커버리됩니다.
기본 사용 흐름
- Bowire를 실행한 뒤 왼쪽 탐색 패널에서 그룹(예: DEFAULT → GetPort-calls)을 선택합니다.
- 요청 항목(예: List)을 클릭하여 메서드(GET 등)와 Payload를 확인합니다.
- 필요에 따라 Payload 섹션을 편집하고 Execute 버튼을 눌러 요청을 전송합니다.
- RESPONSE 탭에서 Response Metadata와 Test results를 확인하고, RESULT 섹션에서 JSON 배열 형태의 응답 데이터를 검토합니다.
- 하단의 응답 시간과 OK 상태를 통해 요청 결과를 빠르게 확인합니다.
Q. Bowire는 계정이나 클라우드 연결이 필요한가요?
필요하지 않습니다. 모든 데이터는 로컬에 저장되며 계정 등록이나 원격 분석 없이 사용할 수 있습니다.
Q. 임베디드 모드와 독립형 CLI의 차이는 무엇인가요?
임베디드 모드는 ASP.NET 호스트 앱에 /bowire 경로로 워크벤치를 마운트해 호스트의 서비스를 자동으로 디스커버리하는 방식이고, 독립형 CLI는 bowire 명령으로 임의의 호스트에 대해 실행하는 방식입니다.
Q. 어떤 프로토콜을 기본 지원하나요?
gRPC, REST(OpenAPI/Swagger), GraphQL, SignalR, MCP, SSE, WebSocket, MQTT, Socket.IO, OData가 기본이며, Surgewave, Apache Kafka, IEEE 1278 DIS, UDP 플러그인과 JSON-RPC, NATS, SOAP, Pulsar 등 별도 프로토콜 패키지로 확장할 수 있습니다.
화면으로 보는 주요 기능
API 요청 목록 화면

Bowire 애플리케이션의 왼쪽 탐색 패널에서 'DEFAULT' 그룹 아래에 있는 'GetPort-calls', 'GetShip-tracker', 'DOCKS' 그룹의 'List' 항목이 선택되어 있으며, 해당 항목은 'GET' 메서를 사용하는 것으로 표시된다. 오른쪽에는 'List' 요청의 세부 정보가 표시되며, 'REQUEST' 탭이 선택되어 있고 'Payload' 섹션은 JSON 형식으로 빈 객체 '{}'를 보여주고 있다. 'RESPONSE' 탭은 'Response Metadata'와 'Test results' 탭을 포함하며, 'RESULT' 섹션에는 JSON 배열 형태의 응답 데이터가 표시되어 있다. 하단에는 'Execute' 버튼과 'OK' 상태 표시, 그리고 '7ms'라는 응답 시간이 표시되어 있다.
시스템 요구사항
[요구 사항]
- Windows 환경: winget 패키지 관리자를 통한 설치 가능 (`winget install --id KuestenLogik.Bowire --exact`)
- 아키텍처: x64
- 설치 형식: wix 기반 MSI
- .NET 런타임이 필요합니다
- 크로스 플랫폼 사용 시: .NET 도구 설치 지원 (`dotnet tool install -g Kuestenlogik.Bowire.Tool`)
- Docker 이미지, 포터블 ZIP 등 다양한 배포 형태가 공식 다운로드 페이지에서 제공됩니다


