2017-11-01 26 views
0

私はJsonのドキュメントを扱うのが初めてです。私はTeam Dynamix APIを使用しており、新しいAssetを作成しようとしています。私はARC(Advanced REST client)を使ってテストリクエストを書いています。私は成功したARCリクエストを書くことができますが、C#とJson.Netで実際のコードを書くのに苦労しています。 C#リクエストをシリアル化すると、ARCリクエストと同じように見えます。ここに私のコードのビットは次のとおりです。Json.Net投稿の問題

Asset newAsset = new Asset{ 
    //attributes of asset here 
} 
responseMsg = await oHttpClientX.PostAsJsonAsync(addAssetUri, newAsset); 

応答は次のとおりです。

"The following errors were encountered:\r\n * AssetRole is required. 

私はARCのリクエストでこの応答を受けましたが、私はそれを修正するためにnewAssetへの正しい機能を追加しました。たぶん、この質問はあまりにも具体的ですが、私は尋ねると思っていました。

何かを明確にする必要がある場合はお知らせください。

+0

わかりません。あなたはあなたの問題を解決したかどうか?何を聞いていますか? – Amy

+0

質問は明らかではありませんが、C#の外部からAPIを呼び出すことはできましたが、C#から呼び出すときにエラーが発生しましたか?オブジェクトのプロパティが不足しているようですが、わからない場合は、より多くの情報が必要になります。 – KinSlayerUY

+0

@KinSlayerUYはい。私は正常にC#の外部からAPIを呼び出すことができますが、私はC#でAPIと同じ正確な呼び出しを行うときに同じ問題が発生します。私は正しいを転記する前にシリアル化する必要がありますか?それは問題かもしれません...私が試した後に更新されます。 –

答えて

0

これは私が探していたものです。他のAPIドキュメントを見てJson.NETのドキュメントを読んだところ、私はそのアセットを作成することができました。

Asset asset = new Asset { 
    StatusID = 1067, 
    Name = "computerName", 
    Attributes = new List<CustomAttribute> { 
     new CustomAttribute{ 
      Name ="AssetRole", 
      ID=12345, 
      Choices = new List<CustomAttributeChoice>{ 
       new CustomAttributeChoice{ 
        ID=71745, 
        Name="Staff" 
       } 
      }, 
      Value="71745", 
      ValueText="Staff", 
      ChoicesText="Staff" 
     } 
    } 
};