-1

この質問が何度も議論されていることは知っていますが、私にとってそれらの解決策は機能していません。ASP.NET Web API から JSON データを返したいと考えています。Firefox REST クライアント プラグインを使用してエンドポイントに到達しています。

私が試したこと:

  1. 特定の受け入れヘッダーがあります: Accept: application/json. Accept ヘッダーを使用する

  2. Application_Start メソッドの XML フォーマッターを削除しました

    var formatters = GlobalConfiguration.Configuration.Formatters;

    formatters.Remove(formatters.XmlFormatter);

これは、最後にデータを返す方法です

 return myModel.OrderBy(d => d.SortOrder);

myModel は、パブリック プロパティがほとんどない単なるクラスです。このクラスまたはそのプロパティを属性で装飾していません。

しかし、これら2つのアプローチは機能していません。私はまだXML形式でデータを取得しています:(

あなたの提案を提供してください。

4

2 に答える 2

1

http://www.servicestack.net/を紹介したいと思います。

これは、.net に接続する REST API フレームワークです。

それはあなたが必要とするすべてを行います。 https://docs.google.com/presentation/d/16ey0MrpHOSz5N5sjctAliOgYWO3ZYeJe070fLZlPdrE/present#slide=id.i27

于 2013-09-17T10:28:58.503 に答える
0

コメントから

application/jsonヘッダーが最初のヘッダーであり、q=1品質属性:があることを確認します"application/json;q=1"

品質属性の詳細については、仕様を参照してください。基本的に、クライアントが返されたデータ型に優先システムを提供する方法です。

あなたの他の質問に答えるために (コードで XML 形式を明示的に削除したのに、なぜ XML 形式でデータを取得していたのですか? )、ヘッダーが正しく設定されていないか、クライアントが他のヘッダーを別の品質値にデフォルト設定します。

もう 1 つの推測は、フォーマッタを削除する方法が間違っている可能性があります。別の方法については、SO でこの回答またはこの記事を確認し、それらが同様に機能するかどうかを確認できます。

于 2013-09-17T11:24:07.907 に答える