[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
質問
Ubuntuを使用していて、インストールした cURL を搭載しています。Spring RESTアプリケーションをcURLでテストしたいのですが。私はJava側でPOSTコードを書きました。しかし、私はcURLでそれをテストしたい。私はJSONデータを投稿しようとしています。データの例は次のようなものです。
{"value":"30","type":"Tip 3","targetModule":"Target 3","configurationGroup":null,"name":"Configuration Deneme 3","description":null,"identity":"Configuration Deneme 3","version":0,"systemId":3,"active":true}
私はこのコマンドを使っています。
curl -i \
-H "Accept: application/json" \
-H "X-HTTP-Method-Override: PUT" \
-X POST -d "value":"30","type":"Tip 3","targetModule":"Target 3","configurationGroup":null,"name":"Configuration Deneme 3","description":null,"identity":"Configuration Deneme 3","version":0,"systemId":3,"active":true \
http://localhost:8080/xx/xxx/xxxx
このようなエラーが返されます。
HTTP/1.1 415 Unsupported Media Type
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Length: 1051
Date: Wed, 24 Aug 2011 08:50:17 GMT
エラーの内容はこうです。
要求されたメソッド () の要求されたリソースがサポートしていない形式の要求エンティティであるため、サーバーはこの要求を拒否しました。
Tomcatのログです。 POST /ui/webapp/conf/clear HTTP/1.1" 415 1051
cURLコマンドの正しい書式は何ですか?
これは私のJava側です
PUT
のコード(GETとDELETEをテストしたところ、うまくいきました)。
@RequestMapping(method = RequestMethod.PUT)
public Configuration updateConfiguration(HttpServletResponse response, @RequestBody Configuration configuration) { //consider @Valid tag
configuration.setName("PUT worked");
//todo If error occurs response.sendError(HttpServletResponse.SC_NOT_FOUND);
return configuration;
}
解決方法は?
content-typeをapplication/jsonに設定する必要があります。しかし
-d
(または
--data
) は、Content-Type を送信します。
application/x-www-form-urlencoded
これはSpring側では受け入れられません。
を見てみると
curl マニュアルページ
を使えばいいと思います。
-H
(または
--header
):
-H "Content-Type: application/json"
完全な例です。
curl --header "Content-Type: application/json" \
--request POST \
--data '{"username":"xyz","password":"xyz"}' \
http://localhost:3000/api/login
(
-H
は
--header
,
-d
について
--data
)
ただし
-request POST
は
任意
を使用する場合
-d
のように
-d
フラグは POST リクエストを意味します。
Windowsの場合、少し事情が異なります。コメントスレッドをご覧ください。
関連
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] cURL呼び出しによるHTTPリクエストを使用してヘッダーを送信する方法は?
-
[解決済み] JSONデータをファイルに書き込むにはどうしたらいいですか?
-
[解決済み] バイナリデータをJSON文字列で。Base64より優れたもの
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JSON標準 - 浮動小数点数
-
[解決済み] UnixツールでJSONをパースする
-
[解決済み] JSONでnullを表現する
-
[解決済み] JSONオブジェクトをTypeScriptのクラスにキャストする方法を教えてください。
-
[解決済み] URLを括弧付きでcurlに渡す
-
[解決済み] JSONファイルのMongoimport
-
[解決済み] JSONファイルからRにデータをインポートする【重複あり
-
[解決済み] どのようにjqを使用して2つのファイルから2つのJSONオブジェクトをマージするには?
-
[解決済み] fs.writeFileSyncによるJSONオブジェクトのJSONファイルへの書き込み
-
[解決済み] Scalaの標準クラスを使ってScalaでJSONをパースするには?