UnityでREST API通信 ① GET通信をおこなう
今回は、UnityでAPI通信を行う製作メモです。
APIはLaravelで製作し、RESTfulな設計にしてます。
まずは、GET通信でデータベースのデータを取得し、ローカルに保存するところまでやっていきたいと思います。
Unityが提供してる通信APIは、
www
と
UnityWebRequest
です。
www
は HTTPメソッドがGETとPOSTのみ。
UnityWebRequest
は、+PUT
とDELETE
も使えるとのことで、
www
はシンプルにWebにアクセスするときに使うようです。
コードは以下のような感じです↓
using System.Collections; using UnityEngine; //これが必要になります using UnityEngine.Networking; public class HogeController : MonoBehaviour { string webURL = "http://~"; public void Start() { //通信はコルーチンを使って行います。 StartCoroutine(GetData()); } IEnumerator GetData(){ UnityWebRequest request = UnityWebRequest.Get(webURL); yield return request.SendWebRequest(); //エラー処理 if(request.isNetworkError){ Debug.Log(request.error); }else{ //リクエストが成功した時 if(request.responseCode == 200){ /* ここに処理を書く */ } } }
サーバーとGETで通信させることができました。
①は以上です。
②では、データベースの中身をJSON形式で取得します。
わかりづらい点がありましたらお気軽にきいてください(^-^)