仕事の都合で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]×tamp=[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 : 実行結果をファイルに出力
以上また新しく使用したコマンドがあれば更新します。
誰かのお役に立ちますように。
参考文献