cURLからJavaへ

curlコマンドを貼り付けると、JDKだけでコンパイルできるJava 11のHttpClientコードが得られます。

cURLからJavaへは完全にブラウザ内で動作します。貼り付けたコマンドはトークンごと端末上で変換され、送信されません。

cURLからC#へを開く

cURLからJavaへ について

Javaはバージョン11でようやくまともなHTTPクライアントを手に入れ、curlコマンドを再現するためだけにOkHttpやApacheを持ち出す理由がなくなりました。ビルダーは素直ですが決まりがあります。GETとDELETEはボディを取らず、POSTとPUTは取り、PATCHを含むそれ以外の動詞は汎用の呼び出しを使います。ここを誤るとコンパイルが通らないか、ボディが黙って捨てられます。このツールはcurlのフラグを読み、その決まりに沿ったコードを必要なimportとともに出力し、-uも正しく符号化します。

機能

cURLからJavaへ の使い方

  1. ヘッダーとボディを含むcurlコマンドを貼り付けます
  2. 入力に合わせて生成されるJavaを読みます
  3. コピーするか、Main.javaとして保存します
  4. JDK 11以降であればそのままコンパイルできます

入力

curl -X PATCH https://api.example.com/users/1 -d '{"role":"admin"}'

出力

.method("PATCH", HttpRequest.BodyPublishers.ofString("{\"role\":\"admin\"}"))

ビルダーにPATCHの近道はないのでmethod()を使います。手作業の移植で見落とされがちな点です。

よくあるエラーとトラブルシューティング

よくある質問

curlをJavaに変換するには。
上にコマンドを貼り付けてください。メソッド、URL、ヘッダー、ボディが適切な呼び出しのjava.net.httpリクエストになります。
生成コードに依存関係は必要ですか。
不要です。Java 11以降のJDKに含まれるjava.net.httpを使うので、クラスパスに何もなくてもコンパイルできます。
JavaでPATCHリクエストを送るには。
汎用の呼び出しを使います。.method("PATCH", HttpRequest.BodyPublishers.ofString(body))です。専用の近道はありません。
変換時にリクエストは送信されますか。
いいえ。このツールはテキストを書き換えるだけで、実行はせず、変換はブラウザ内で行われます。

関連ツール

すべての ArrayKit ツール