8

私はWebAPIを初めて使用するため、クライアント用のサーバーを作成する必要があります。私はクライアントを制御できません-物事を変更することはできません。

クライアントは、HTMLでカプセル化されたjsonリクエストをPOST本文で送信します。ただし、コンテンツタイプは異なる場合があります。ApiControllerがさまざまなコンテンツタイプを処理できるようにするには、何をする必要がありますか?

4

1 に答える 1

8

内部では、Web Api はコンテンツ ネゴシエーションContent-Typeメカニズムをサポートしており、HTTP 要求のヘッダーに基づいて正しいフォーマッターを自動的に選択します。

デフォルトでは、コンテンツ ネゴシエーションはjsonxmlおよびの 3 つのフォーマッタをサポートしていますform-urlencoded data。フォーマッタが見つからない場合、クライアントは HTTP エラー 406 (受け入れられません) を受け取ります。

続きを見る:

https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/content-negotiation

Web Api に別のサポートを許可する必要がある場合はContent-Type、独自のカスタム フォーマッタを記述できます。

https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/media-formatters

于 2012-09-28T16:23:06.313 に答える