1
1

仕事の都合でAPI実装のテストでcurlコマンドを使う機会があったので、使用したコマンドと躓いた点をメモしておきます。

1.GET

$ curl -v -X GET http://localhost:8080/~
  • -v : 詳細をログ表示
  • -X : HTTPメソッドを指定

2.POST/PUT/PATCH

$ curl -v -X POST -H "Content-type:application-json" -d "{¥"id¥": [id]}" http://localhost:8080/~
  • -d : データを付与
  • -H : ヘッダー情報を指定

-d でデータを指定したら-Xは不要みたいです。

3.DELETE

$ curl -v -X DELETE -H "Content-type:application/json" http://localhost/~?id=[id]&timestamp=[timestamp]

DELETEを使用して一緒にデータを送りたかったんですが、なぜか-dオプションだとデータが送られてない?っぽかったので、パラメータとして送ることに。
他の記事いろいろみてたんですが、分からずじまいだったので、ご存知の方いらっしゃいましたらご教授いただけますと幸いです。

4.エクセルファイルをアップロード

$ curl -v -X POST -H "Content-type:multipart/form-data" -F file=@"/[パス]" http://localhost:8080/~
  • -F : ファイルを指定

-d オプションと -F オプションを同時に仕様することはできないみたいです。

最初content-typeをエクセル(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)を指定してましたができなかったため、いろいろ調べて上記で出来ました。

あとで調べてみたら、-Fが"Content-type:multipart/form-data"を指定してるっぽいです。
なので、-Fを使えばContent-typeはわざわざ指定しなくてもいいみたいです。
参考先

5.エクセルファイルをダウンロード

$ curl -v -X GET -H "Content-type:multipart/form-data" -L "http://localhost/~" -o C:/Users/~
  • -L : リダイレクトを実行
  • -o : 実行結果をファイルに出力

以上また新しく使用したコマンドがあれば更新します。
誰かのお役に立ちますように。

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1