Repolode
dromara

dromara/jquick-curl

curlコマンドを通常のJavaメソッド呼び出しとして実行できるJavaライブラリ。HTTPクライアントのコードを書かずに、PostmanやブラウザーのDevToolsからコピーしたcurlをそのまま使えます。

代替できる製品:Postman

スター
1,093
フォーク
71
未解決の Issue
0
最終コミット
5 日前

これは何?

jquick-curlを使うと、Java開発者はHTTPリクエストをcurlコマンドで記述し、通常のメソッドのように呼び出せます。インターフェースのメソッドに@JCurlCommandアノテーションを付けるか、XMLファイルにコマンドをまとめて定義し、JCurlInvoker.createProxyで動的プロキシを作成します。コマンドはANTLRで解析され、OkHttpを基盤とするコネクションプール付きのトランスポート層を通じて送信されます。

-X、-H、-d、-F、-o、-b、-c、-u、-L、-xなど、curlの一般的なオプションに対応しているため、Postman、Apifox、ブラウザーのDevToolsからコピーしたコマンドをそのまま貼り付けて使えることがほとんどです。また、実行時に解決される${name}および#{name}プレースホルダー、<if>式によるXML内の条件付きヘッダー、セッションを永続化するNetscape形式のCookie jarにも対応しています。

タイムアウト、コネクションプールのサイズ、リトライ、リダイレクト、インターセプターなどのグローバル設定は、JQuickCurlConfigシングルトンで一括設定できます。JQuickエコシステムの一部であり、JDK 8以降に対応した状態でMaven Centralに公開されています。

主な機能

  • 01@JCurlCommandまたはXMLを使って、HTTPリクエストをcurlコマンドとして定義できます。
  • 02JCurlInvoker.createProxyを使い、インターフェースから実行可能なクライアントを作成できます。
  • 03-Fによるmultipartアップロードと、-oによるファイルダウンロードに対応しています。
  • 04-b、-cによるCookie処理と、Set-Cookieの永続化に対応しています。
  • 05JQuickCurlConfigでタイムアウト、コネクションプール、リトライ、リダイレクトをグローバルに設定できます。
  • 06HTTPおよびSOCKS5プロキシと、証明書チェックをスキップする-kに対応しています。

ユースケース

  • PostmanやブラウザーのDevToolsからコピーしたAPIリクエストを、Javaのサービス呼び出しに変換する。
  • 多数のサードパーティAPI定義をJavaコードとは別のXMLファイルにまとめる。
  • Cookieをファイルに保存して、ログインセッションが必要なエンドポイントを呼び出す。
  • 一連のcurlコマンドを実行する結合テストやバッチスクリプトを作成する。

トピック

よくある質問

jquick-curl とは?
curlコマンドを通常のJavaメソッド呼び出しとして実行できるJavaライブラリ。HTTPクライアントのコードを書かずに、PostmanやブラウザーのDevToolsからコピーしたcurlをそのまま使えます。 jquick-curlを使うと、Java開発者はHTTPリクエストをcurlコマンドで記述し、通常のメソッドのように呼び出せます。インターフェースのメソッドに@JCurlCommandアノテーションを付けるか、XMLファイルにコマンドをまとめて定義し、JCurlInvoker.createProxyで動的プロキシを作成します。コマンドはANTLRで解析され、OkHttpを基盤とするコネクションプール付きのトランスポート層を通じて送信されます。
jquick-curl は無料で使えますか?ライセンスは?
jquick-curl は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
jquick-curl は今もメンテナンスされていますか?
活発にメンテナンス中。jquick-curl の最終コミットは 2026年10月15日 です。
jquick-curl は何に使えますか?
PostmanやブラウザーのDevToolsからコピーしたAPIリクエストを、Javaのサービス呼び出しに変換する。 多数のサードパーティAPI定義をJavaコードとは別のXMLファイルにまとめる。 Cookieをファイルに保存して、ログインセッションが必要なエンドポイントを呼び出す。 一連のcurlコマンドを実行する結合テストやバッチスクリプトを作成する。
jquick-curl はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/dromara/jquick-curl

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト