📚

JetBrains IDEでcURLをhttpファイルにコピペすると修正してくれる

2024/12/19に公開

始めに

小ネタ。タイトルだけの出オチ記事。

環境

  • PyCharm
    • 2024.3.1 Professional Edition

httpファイルに一般的なREST APIのcURLをコピー&ペーストすると次のように変換されます。

curl -X 'POST' 
 'http://localhost:8000/tasks' 
 -H 'accept: application/json' 
 -H 'Content-Type: application/json' 
 -d '{
  "title": "クリーニングを取りに行く"
}'
# curl -X 'POST' 
#  'http://localhost:8000/tasks' 
#  -H 'accept: application/json' 
#  -H 'Content-Type: application/json' 
#  -d '{
#  "title": "クリーニングを取りに行く"
#}'
POST http://localhost:8000/tasks
accept: application/json
Content-Type: application/json

{
  "title": "クリーニングを取りに行く"
}

ファイルアップロード等のアップロードもパスさえ合っていれば同じように実行できます。

curl -X 'PUT'
  'http://localhost:8000/users/files'
  -H 'accept: application/json'
  -H 'Content-Type: multipart/form-data'
  -F 'file=@001.png;type=image/png'
# curl -X 'PUT'
#  'http://localhost:8000/users/files'
#  -H 'accept: application/json'
#  -H 'Content-Type: multipart/form-data'
#  -F 'file=@001.png;type=image/png'
POST http://localhost:8000/users/files
accept: application/json
Content-Type: multipart/form-data; boundary=WebAppBoundary

--WebAppBoundary
Content-Disposition: form-data; name="file"; filename="001.png"

< 001.png
--WebAppBoundary--

終わりに

個人的にはRequest BodyをJSONで扱えるhttpファイルのほうが便利なのですが他の開発者に向けた手順書として実行する場合にはcURLの方が展開しやすいです。

今まで手順書としてはcURLで残しておいて、自分の検証用としてはhttpファイルで残していたのですが、cURLだけ残せばすぐに再現できるようになったのは非常に大きいメリットです。こういう地味な開発生産性に効くことをしてくれるから、JetBrains IDEは辞められませんね。

Discussion