3
新しいGoCardless APIを実装しようとしていますが、ウェブフックの処理に問題があります。GoCardlessイベントDeserialiseがありません
私がやっにより、文字列への応答を読んで、次のよう
Stream req = Request.InputStream;
req.Seek(0, System.IO.SeekOrigin.Begin);
string requestContent = new StreamReader(req).ReadToEnd();
これは私にJSONレスポンスを与える:
"{\"events\":[{\"id\":\"EV000SDG4B5WRP\",\"created_at\":\"2017-07-31T08:17:16.202Z\",\"resource_type\":\"mandates\",\"action\":\"cancelled\",\"links\":{\"mandate\":\"MD0002010AE1MV\"},\"details\":{\"origin\":\"api\",\"cause\":\"bank_account_closed\",\"description\":\"The customer's account was disabled at your request.\"},\"metadata\":{}}]}"
ドキュメントによると、私はその後、できるはずですto do
JsonConvert.DeserializeObject<GoCardless.Resources.Event>(requestContent);
しかし、これは空白のオブジェクトで、すべてのプロパティがnullに設定されています。
Eventクラスのソースコードはここで見つけることができます:https://github.com/gocardless/gocardless-dotnet/blob/master/GoCardless/Resources/Event.cs
は、なぜこれがオブジェクトにデシリアライズしないのだろうか?
が、私は、私はエラーを取得することを試みるとき:だから最初は、rootオブジェクトが必要 '"現在のJSONオブジェクトをデシリアライズすることはできませんタイプがJSON配列を必要とするため(例:[1,2、...])、タイプ 'System.Collections.Generic.List'1 [GoCardless.Resources.Event]'にタイプ(例:{\ "name \":\ "value \ 3])を正しくデシリアライズするには –
私のエラー - ルートオブジェクトが必要です - 編集しました – DavidG
これはうまくいけば簡単ですし、各イベントごとに別々のコールを行った場合。 –