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 的方法,后续还会继续分享其他数据请求方法。

© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...


