Unity 执行 Web 请求的代码模板

内容分享2小时前发布
10 0 0

Unity 执行 Web 请求的代码模板

使用 Unity 进行开发,不可避免会遇到执行 Web 请求的需求,由于无论是开发游戏还是开发数字孪生应用,都需要和后台服务端打交道。一般情况下,我们的后端服务器都是使用 C# 或者 Java,又或者是其他语言编写的 Rest 服务。所以,今天我分享一下关于 Unity 请求后端 Rest 服务时所使用的代码模板,大家可以参考。

1.Get

string url = Path.Combine(UrlPrefix, ".../.../", ...);
Debug.Log(url);

UnityWebRequest req = UnityWebRequest.Get(url);            

yield return req.SendWebRequest();

if (req.result != UnityWebRequest.Result.Success)
{
    Debug.LogError("Error in request: " + req.error);
}
else
{
    Debug.Log(req.downloadHandler.text);                
}

2.Post

string url = Path.Combine(UrlPrefix, ".../...");
Debug.Log(url);

UnityWebRequest req = new UnityWebRequest();
req.url = url;
req.method = "POST";
req.SetRequestHeader("Content-Type", "application/json");

string jsonData = JsonMapper.ToJson(...);
byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(jsonData);
req.uploadHandler = new UploadHandlerRaw(bodyRaw);
req.downloadHandler = new DownloadHandlerBuffer();

yield return req.SendWebRequest();

if (req.result != UnityWebRequest.Result.Success)
{
    Debug.LogError("Error in request: " + req.error);
}
else
{
    Debug.Log(req.downloadHandler.text);
    ... = JsonMapper.ToObject<List<...>>(req.downloadHandler.text);
}

以上代码中,前后端通过 Json 进行数据传输,Json 数据处理采用 LitJson 库。

今天我们只分享一下执行 Get 和 Post 的方法,后续还会继续分享其他数据请求方法。

Unity 执行 Web 请求的代码模板

© 版权声明

相关文章

暂无评论

none
暂无评论...