ホームページ  >  記事  >  Java  >  JSON リクエストに対して 415 「サポートされていないメディア タイプ」エラーが発生するのはなぜですか?

JSON リクエストに対して 415 「サポートされていないメディア タイプ」エラーが発生するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-02 07:00:02757ブラウズ

Why Am I Getting a 415

JSON リクエストの HTTP 415 Unsupported Media Type エラーを解決する

JSON 本文を使用して REST リクエストを発行するときに、次のような問題が発生することは珍しくありません。 HTTP 415「サポートされていないメディア タイプ」エラー。このエラーは通常、サーバーが受信した JSON データを処理できないときに発生します。

具体的には、質問で提起された問題は、適切に定義された「Content-Type: application/json」を持つ POST リクエストによって特徴付けられます。 " ヘッダーはありますが、依然として「サポートされていないメディア タイプ」エラーが発生します。さまざまな JSON ライブラリを試しましたが、問題は解決しませんでした。

解決策: Charset 指定の省略

慎重に調査した結果、「charset=utf8」が含まれていることが判明しました。 「Content-Type」ヘッダーのパラメータがエラーの原因でした。リクエストヘッダーから「charset=utf8」を削除すると奇跡的にエラーが消えます。

改訂コード:

<code class="java">con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Accept", "application/json");</code>

技術説明:

「charset=utf8」パラメータを省略すると、サーバーが受信 JSON データのエンコーディングを自動的に検出できるようです。エンコードはアプリケーション層に対して透過的であり、基礎となる通信メカニズムによって処理される必要があるため、これは多くの場合推奨されるアプローチです。

結論:

特定のシナリオでは、これは次のとおりです。 JSON リクエストの HTTP 415 「サポートされていないメディア タイプ」エラーは、「Content-Type」ヘッダーから文字セットの指定を削除することで解決できます。この簡単な変更により、サーバーは受信 JSON データをシームレスに処理できるようになり、REST サービスの対話が成功します。

以上がJSON リクエストに対して 415 「サポートされていないメディア タイプ」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。