###前提・実現したいこと
知育ゲームアプリを開発しています。
UnityからUnityWebRequestでJSONをPOSTで送り、サーバー上でその値をもとにデータベースを書き換えたり、データベースを取得したりし、結果としてUnityにJsonを返すという処理を実現したいと思っております。
jsonにはMiniJSONを使っています。
###発生している問題・エラーメッセージ
UnityからUnityWebRequestを使ってPOSTでJsonデータを送っているのですが、サーバでそれを上手く受信することができません。
テストのために、受け取ったデータを加工せずにクライアントに返したとすると、nullになっています。
###該当のソースコード
PHP側のコードはPOSTで送られてきたデータが正確に取得できているかを試すためのコードです。
Unity
1private void Start() 2{ 3 StartCoroutine(Post("http://127.0.0.1:8000/hoge", "{'nickname':'hoge'}")); 4} 5 6IEnumerator Post(string url, string bodyJsonString) 7{ 8 var request = new UnityWebRequest(url, "POST"); 9 byte[] bodyRaw = Encoding.UTF8.GetBytes(bodyJsonString); 10 request.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw); 11 request.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer(); 12 request.SetRequestHeader("Content-Type", "application/json"); 13 14 Debug.Log(request.method); 15 16 yield return request.Send(); 17 18 Debug.Log("Status Code: " + request.responseCode); 19 20 21 // 通信エラーチェック 22 if (request.isNetworkError) 23 { 24 Debug.Log(request.error); 25 } 26 else 27 { 28 if (request.responseCode == 200) 29 { 30 // UTF8文字列として取得する 31 string text = request.downloadHandler.text; 32 Debug.Log(text); 33 34 // バイナリデータとして取得する 35 byte[] results = request.downloadHandler.data; 36 37 Debug.Log(Json.Deserialize(text)); 38 39 } 40 } 41}
Laravel
1Route::post('/hoge', function (Request $request) { 2 $name = $request->nickname; 3 return response()->json(['apple' => $name, 'peach' => $name]); 4});
###試したこと
http://qiita.com/mattak/items/d01926bc57f8ab1f569a
こちらの記事を参考にUnityからJsonを送信しています。
https://ja.stackoverflow.com/questions/10823/laravel-5-%E3%81%A7%E3%81%AEpost%E3%81%A7%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%8C%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8B%E3%81%AA%E3%81%84
この対策はしました。(コメントアウトで対応済み)
###補足情報(言語/FW/ツール等のバージョンなど)
フレームワーク:Laravel5.4(Php7.1)
クライアント:Unity2017.1
IDE:PhpStorm2017.2
開発環境:Vagrant(Homestead)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/07 15:56
2017/09/07 16:13 編集
2017/09/07 16:22 編集