前提・実現したいこと
UnityからPHP(Laravel)にjsonデータをGETで送り,Mysqlに保存するシステムを作成しようとしています
発生している問題・エラーメッセージ
Unityの方では200(リクエスト成功)と出ているのですが、jsonデータがPHPの方へ上手く渡せません
エラーが出ているわけではないので、どこでデータの受け渡しに失敗しているか分からない状態です。
どこかソースに間違いがあるのでしょうか?
States Code:200
該当のソースコード
C#
1public class DataTest : MonoBehaviour 2{ 3 4 public string GetData; 5 public string url = "http://example....../index"; 6 7 [Serializable] 8 public class jsonClass 9 { 10 public int task1{ get; set; } 11 public int task2{ get; set; } 12 } 13 14 [Obsolete] 15 public void Start() 16 { 17 StartCoroutine(Post()); 18 } 19 20 [Obsolete] 21 IEnumerator Post() 22 { 23 jsonClass Task = new jsonClass(); 24 Task.task1 = 1; 25 Task.task2 = 1; 26 27 GetData = JsonUtility.ToJson(Task); 28 29 //Getメソッドのリクエストを作成 30 UnityWebRequest request = UnityWebRequest.Get(url); 31 32 //json(string)をbyte[]に変換 33 byte[] TaskData = System.Text.Encoding.UTF8.GetBytes(GetData); 34 35 request.uploadHandler = (UploadHandler)new UploadHandlerRaw(TaskData); 36 request.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer(); 37 38 request.SetRequestHeader("Content-Type", "application/json"); 39 40 yield return request.Send(); 41 42 yield return JsonUtility.FromJson<jsonClass>(GetData); 43 44 Debug.Log("Status Code: " + request.responseCode); 45 }
laravel側では、GETで送られたデータを保存しようとしています
以下、コントローラの処理です
php
1<?php 2 3namespace App\Http\Controllers; 4 5use App\Models\Task; 6 7class GETsController extends Controller 8{ 9 public function index() 10 { 11 if (isset($_GET['TaskData'])) { 12 $contents = json_decode($_GET['TaskData']); 13 14 $task = new Task(); 15 $task->create([ 16 'task1' => $contents->task1, 17 'task2' => $contents->task2, 18 19 ]); 20 } 21 22 return view('display'); 23 } 24}
補足情報(FW/ツールのバージョンなど)
version:Unity 2019.2.8
laravel6