「APIについて⑥」の動画の25:59あたりで場面が飛んで
webRequestSuccess関数が追加されていますが、
どこで使うかを説明する部分がありませんでした。
private void webRequestSuccess(string response) { _displayField.text = response; }
おそらくですが、SetJsonFromWWW関数のStartCoroutine内の「CallbackWebRequestSuccess」を「webRequestSuccess」に書き換えたのかと思いますが、認識あっていますでしょうか。
private void SetJsonFromWWW() { string sTgtURL = " http://localhost:8080/messageboardsapi/Messageboard/setMessage "; string sendName = _inputNameField.text; string sendMessage = _inputMessageField.text; StartCoroutine(SetMessage(sTgtURL, sendName, sendMessage, CallbackWebRequestSuccess, CallbackWebRequestFailed)); }
〜〜〜〜〜
CallbackWebRequestSuccess
は最終的にMemberDataModel.DeserializeFromJson(response);
を呼び、Jsonデータをデシリアライズしようとします↓IList jsonList = (IList) Json.Deserialize(sStrJson);
引数にはJSONデータが入っている必要がありますが
Post時は“sucsess”という文字列しか入らないためエラーとなります。
そのための回避策かと思いました。
ご確認よろしくお願いします。
その認識で間違っていません。SetMessage関数の引数にコールバックを指定する時に、
指定するコールバックをCallbackWebRequestSuccessからWebRequestSuccesに変更した感じですね。
SetMessageボタンを押した際に「NullReferenceException」とエラーが発生してしまいましたが、
上記を参考にSetJsonFromWww関数のStartCoroutine内の「CallbackWebRequestSuccess」を「WebRequestSuccess」に書き換えたところ、エラー無く実行できました。
『「CallbackWebRequestSuccess」を指定したままだとPost時に正しくJsonデータが読み込めないため「WebRequestSuccess」を引数に指定した』という認識です。