0

私は本当に奇妙な状況にあります(私だけのためかもしれません)。RESTfulAPIを開発しました。デフォルトでは、クライアントからヘッダーで送信されたコンテンツタイプに従って、結果をJSON / XML/TEXTとして返します。

現在、クライアントは、応答をXMLのみのデフォルトとして設定したいと言っています。ここで意味するのは、クライアントはヘッダーでコンテンツタイプを送信せず、デフォルトでリクエストをXMLとして送信するということです。

ブラウザからこのAPIにアクセスすると、XMLとして返されますが、クライアントのアプリが要求すると、デフォルトでJSONの結果が返されます。彼らはコンテンツタイプをヘッダーに入れることによって結果をXMLとして取得していますが、それを実行したくないので、デフォルトでXML結果を取得したいと考えています。

私はそれを明確にしたいと思います。そうでない場合は私に知らせてください。

どんな助けでもいただければ幸いです。ありがとう

[変更]サーバーでリクエストを受信したときにリクエストヘッダーを変更できる方法があるかどうか知りたいです。

MVC3、C#にあります。

4

2 に答える 2

0

リクエスト ヘッダーを変更することはできません。クエリを実行するだけです。

コントローラーで結果を単純な文字列として返すと思いますね。

そして、リクエストから読み取った contenttype に応じて結果を切り替えていますね。

クライアント呼び出しに付随する contenttype は何ですか?

アップデート:

このページを見てください:

http://aleembawany.com/2009/03/27/aspnet-mvc-create-easy-rest-api-with-json-and-xml/

これは以前のバージョンの MVC のソリューションですが、必要なソリューションについてのアイデアが得られます。

リクエストのコンテンツ タイプに応じてアクションの結果を調整する

于 2012-11-20T08:52:06.343 に答える
0

ここに答えと投稿があります。以下のように、xml 型を除く他の戻り値の型を削除しました。

void ConfigureApi(HttpConfiguration config)
{
    // Remove the JSON formatter
    config.Formatters.Remove(config.Formatters.JsonFormatter);

    // or

    // Remove the XML formatter
    config.Formatters.Remove(config.Formatters.XmlFormatter);
}

詳細については、以下のリンクをたどってください http://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization

ありがとう

于 2012-11-22T08:34:37.680 に答える