2017-12-19 18 views
2

プライベートナゲットフィードをホストするNuget.Serverをセットアップしました。私はAPIを介してそのフィードにアクセスしようとしていますが、私はXMLの代わりに私にjsonを与えるように説得することはできません。次のようにNuget.ServerからXMLの代わりにJsonを入手

私のクライアントコードは次のとおりです。

HttpClient client = new HttpClient(); 
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
var packagesResult = client.GetAsync("http://localhost:61654/nuget/FindPackagesById()?id=\'Moq'").Result; 

Console.WriteLine(packagesResult.Content.ReadAsStringAsync().Result); 

私はそこ4つのフォーマッタがあり、延期1がJSONであるApp_Start

GlobalConfiguration.Configuration.Formatters 

からフォーマッタをチェックしています。

XMLの代わりにjsonを返すAPIを取得するにはどうすればよいですか?

答えて

2

コードに間違いはありません。しかし、あなたはXMLだけをサポートするNuget API V2を呼んでいるようです。応答のコンテンツタイプを確認できます。

Content-Type: application/atom+xml; type=feed; charset=utf-8 

APIではXMLではなくJSONが返されるようにするには、Nuget API V3を使用します。

APIの定義:https://api.nuget.org/v3/index.json

サンプル:https://api.nuget.org/v3/registration3/moq/index.json

+0

私はV2 APIをサポートNuget.Server(https://github.com/NuGet/NuGet.Server)を使用しています。あなたが見つけることができるV3 APIをサポートする独自のナゲットサーバーオプションはありません。 – trampster

関連する問題