Snippets

David Fraj Unity - Consumir REST

Created by David Fraj last modified
//Ejemplo original:
//https://heroico.co/blog/consumir-una-api-rest-desde-unity-3d/

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class consumirRest : MonoBehaviour
{

    // Use this for initialization
    void Start()
    {
        StartCoroutine(GetPosts());
        //StartCoroutine("GetPosts");
    }

    // Update is called once per frame
    void Update()
    {

    }

    public IEnumerator GetPosts()
    {
        UnityWebRequest webRequest = UnityWebRequest.Get(

           "http://webservice.davidfraj.com/contactos/91"

       );
        yield return webRequest.Send();

        if (!webRequest.isNetworkError)
        {

            PostListSerializable postList = JsonUtility.FromJson<PostListSerializable>(FixJson("posts", webRequest.downloadHandler.text));

            //Muestro el texto completo
            Debug.Log(webRequest.downloadHandler.text);

            //Muestro el nombre del post
            Debug.Log(postList.posts[0].nombre);
        }
        else
        {
            Debug.Log(webRequest.error);
        }
    }

    public string FixJson(string keyParent, string data)
    {
        return string.Format("{{ \"{0}\": {1}}}", keyParent, data);
    }
    
    public IEnumerator DeletePost(int PostId) {
       string url = "http://webservice.davidfraj.com/contactos/";

        UnityWebRequest webRequest = UnityWebRequest.Delete (url + PostId);
        yield return webRequest.Send ();

        if(webRequest.isError) {
            Debug.Log(webRequest.error);
        }
        else {
            Debug.Log("Delete completed!");
        }
    }

}

[System.Serializable]
public class PostSerializable
{
    public int id;
    public string nombre;
    public string apellidos;
    public string email;
    public string telefono;
    public string imagen;
}

[System.Serializable]
public class PostListSerializable
{
    public PostSerializable[] posts;
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.