「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」を引数に指定した』という認識です。