사용할수있는 method는 GET, POST, PUT, DELETE 가 있다.
_
UnityWebRequest의 흐름은 쉽게 말하면 이렇다.
request -> response
1.request: 클라이언트에서 URL에 정보를 요청한다.
2.response: 해당 url에서 클라이언트로 요청한 정보를 응답해준다.
우리는 그 받은 정보를 쓸 수 있게 파싱해서 사용한다.
_
응답이 툭치면 나오는게 아니라, 요청을 보내면 응답이 올때까지 기다려야 되기 때문에,
일반적인 함수가 아니라 코루틴이나 비동기를 사용한다.
아래의 예시는 내가 post를 사용할 때 썼던 코드들이다.
StartCoroutine(SendPost(serverUrl, param, (callback) =>
{
Debug.Log(callback);
}
private IEnumerator SendPost(string url, string parameter, Action<string> callback)
{
using (UnityWebRequest request = UnityWebRequest.Post(url, parameter))
{
byte[] jsonToSend = new UTF8Encoding().GetBytes(parameter);
request.uploadHandler.Dispose();
request.uploadHandler = new UploadHandlerRaw(jsonToSend);
request.SetRequestHeader("Content-Type", "application/json");
yield return request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
callback(request.downloadHandler.text.Replace('{', ' ').Replace('}', ' ').Replace('"', ' '));
}
else
{
Debug.LogError("Failed");
callback("Error");
}
}
}