Unity通过访问java后台获取数据库数据

unity项目中,需要保存,加载大量的数据信息,对于unity直接编写访问数据库的代码毕竟麻烦。而java中的ruoyi框架可以直接根据数据库表生成对应的java后台,unity调用java后台的接口即可完成数据保存和加载。代码如下:

using UnityEngine.Networking;
using Newtonsoft.Json;

public class LoginBody
{
    
    
	public string username;
	public string password;

	public LoginBody(string username, string password)
	{
    
    
		this.username = username;
		this.password = password;
	}
}
public class ResponseLogin
{
    
    
	public string msg;//信息内容
	public int code;//内容编号
	public SysUser data;//用户(结构体,内容就不展示了,看你的java后端传回的参数是哪些)
	public string token;//令牌
}


public class Login:MonoBehaviour
{
    
    
	public static string URL = "http://localhost:8080";//后端网页地址
	public static string token;//账号令牌

	public IEnumerator LoginCoroutine()
	{
    
    
		LoginBody login = new LoginBody(username,password);
		byte[] jsonArray = System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(login));

		UnityWebRequest loginRequest = new UnityWebRequest(URL+"/login","POST");
		loginRequest.uploadHandler = new UploadHandlerRaw(jsonArray);
		loginRequest.downloadHandler = new DownloadHandlerBuffer();
		loginRequest.SetRequestHeader("Content-Type","application/json");
		//loginRequest.SetRequestHeader("Authorization","Bearer" + token);//对于需要访问权限的后台需要传递登录账号的令牌才能访问数据
		yield return loginRequest.SendWebRequest();
		
		ResponseLogin response = JsonUtility.FromJson<ResponseLogin>(loginRequest.downloadHandler.text);
		if(response.code == 200)
			UnityEngine.Debug.Log(“账号密码验证通过,成功获取该账号的登录请求!”);
		else
			UnityEngine.Debug.Log("登录失败,错误代码:" + response.code + "信息:" + response.msg);
	}
}

代码很简单,但是其中涉及到的内容需要和Java后台开发人员沟通,查询传递的内容以及接收的数据,都需要保证在结构体中其变量名是一模一样的,不然无法传递值

猜你喜欢

转载自blog.csdn.net/lsyiwxy/article/details/132305391
今日推荐