JAX-RSサービスへJSONオブジェクトをPOSTする方法
2023-11-22 15:12:29
質問
JAX-RSのJersey実装を使用しています。このサービスにJSONオブジェクトをPOSTしたいのですが、エラーコード415 Unsupported Media Typeが表示されます。何が足りないのでしょうか?
以下は私のコードです。
@Path("/orders")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class OrderResource {
private static Map<Integer, Order> orders = new HashMap<Integer, Order>();
@POST
public void createOrder(Order order) {
orders.put(order.id, order);
}
@GET
@Path("/{id}")
public Order getOrder(@PathParam("id") int id) {
Order order = orders.get(id);
if (order == null) {
order = new Order(0, "Buy", "Unknown", 0);
}
return order;
}
}
ここにOrderオブジェクトがあります。
public class Order {
public int id;
public String side;
public String symbol;
public int quantity;
...
}
このようなGETリクエストは完全に動作し、JSON形式の注文を返します。
GET http://localhost:8080/jaxrs-oms/rest/orders/123 HTTP/1.1
しかし、このようなPOSTリクエストは415を返します。
POST http://localhost:8080/jaxrs-oms/rest/orders HTTP/1.1
{
"id": "123",
"symbol": "AAPL",
"side": "Buy",
"quantity": "1000"
}
どのように解決するのですか?
答えは意外と簡単でした。私は
Content-Type
ヘッダを
POST
リクエストの値として
application/json
. このヘッダがないと、Jersey はリクエストのボディをどうすればいいのかわかりませんでした (たとえ
@Consumes(MediaType.APPLICATION_JSON)
アノテーションにもかかわらず)!
関連
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] JSONファイルをprettyprintする方法は?
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み] JSオブジェクトをJSON文字列に変換する
-
[解決済み] Chromeを使用してASP.NET Web APIがXMLの代わりにJSONを返すようにするにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】jq: 文字列で配列のインデックスを作成できない
-
[解決済み] Kubernetes / kubectl - 「コンテナ名を指定する必要があります」とありますが、そのような感じですか?
-
[解決済み] Unreadable Notebook NotJSONError('Notebook does not appear to be JSON: u'{'cells": [\'{'cell_type": "...],)
-
[解決済み] Golang で文字列を構造体のようにアンマーシャリングする
-
[解決済み] ヘッダ値:application/vnd.api+json
-
[解決済み] JSON Schemaにおける "required "と "optional "の違いについて
-
[解決済み] Azure VMのエラーです。"あなたのアカウントは、このデバイスを使用できないように設定されています。詳細については、システム管理者にお問い合わせください" [終了しました]。
-
[解決済み] JSONでnullを表現する
-
[解決済み] JSONのXSLT対応
-
[解決済み] jqを使用して、オブジェクト内の変数の値に基づいてオブジェクトを選択します。