4

Accept を text/csv として、content-Type を application/json として、REST API で GET 呼び出しを行います。応答はどのような形式で行う必要がありますか?

応答は JSON 形式または CSV 形式のどちらである必要がありますか?

4

2 に答える 2

3

HTTP では、クライアントがAccept ヘッダーを使用して、受け入れるコンテンツ タイプをサーバーに伝えます。次に、サーバーは応答を送り返し、Content-typeヘッダーを設定して、実際に返されたコンテンツのタイプをクライアントに伝えます。

一部の HTTP リクエストには Content-type も含まれていることに気付いたかもしれません。これは、POST や PUT などの一部のタイプの HTTP 要求がサーバーにデータを送信できるためです。この場合、クライアントは Content-type ヘッダーを使用して、コンテンツ データのタイプをサーバーに伝えます。

あなたの質問に対して、GET リクエストには Content-type ヘッダーを含めないでください。上記の説明の後、これが明確になることを願っています。

于 2017-03-23T20:02:41.870 に答える
1

お気づきのとおり、Accept ヘッダーは、HTTP クライアントが受け入れるコンテンツ タイプをサーバーに伝えるために使用されます。次に、サーバーは応答を返します。これには、返されたコンテンツの実際のコンテンツ タイプをクライアントに伝える Content-Type ヘッダーが含まれます。

ただし、お気付きかもしれませんが、HTTP 要求には Content-Type ヘッダーも含めることができます。なんで?POST または PUT リクエストについて考えてみましょう。これらの要求タイプでは、クライアントは実際には要求の一部として大量のデータをサーバーに送信し、Content-Type ヘッダーはサーバーにデータが実際に何であるかを伝えます (したがって、サーバーがデータを解析する方法を決定します)。

特に、HTML フォームの送信による POST リクエストの場合、リクエストの Content-Type は、(通常) タグの enctype 属性で指定された、以下の標準フォーム コンテンツ タイプのいずれかになります。

application/x-www-form-urlencoded (デフォルト、古い、シンプル、少量の単純な ASCII テキストのオーバーヘッドがわずかに少ない、ファイル アップロードのサポートなし) multipart/form-data (新しい、ファイル アップロードのサポートを追加、大きなファイルのアップロードの効率が向上)バイナリ データまたは非 ASCII テキストの量)

ソース: https://webmasters.stackexchange.com/users/12578/ilmari-karonen

それに基づいて、パラメーター Accept! を選択する必要があります。

于 2017-03-23T19:56:38.120 に答える