使用C# ASP.NET Web API開發供Unity WebGL使用的HTTP接口(三)

前兩篇文章已經把所有的接口都寫完了,那麼這一篇文章就來使用一個API接口測試工具測試一下,以及在Unity中調用。

9、 使用API測試工具測試接口

在這裏使用的測試工具是谷歌瀏覽器中的一個插件,這裏需要自己去搜索下載一下:
在這裏插入圖片描述
開始測試。打開應用

讀取數據

在HTTP request 中的第一行選擇Get 並輸入接口地址:http://localhost:58890/api/student。緊接着點擊SEND按鈕,就會讀取到我們所需要的內容了,如下:
在這裏插入圖片描述
這樣我們就獲取到了數據庫中的信息。

添加

我們將Method修改爲POST方法,地址不變,在下方的Body裏面輸入要添加的人物信息,比如:

{
  "name": "校長",
  "studentNumber": "00000001",
  "class": "校長辦公室",
  "address": "學校"
}

在這裏插入圖片描述
輸入完畢之後我們在點擊SEND按鈕,這是我們就會看到最下面一欄的返回值,說明已經成功添加上了:
在這裏插入圖片描述
這是我們在驗證一下
使用Get方法查一下:會發現,我們的數據已經添加進去了。
在這裏插入圖片描述
在去數據庫中查看一下,同樣會找到我們添加的數據:
在這裏插入圖片描述

修改

上面的數據庫表格會發現ID爲3的數據和1的姓名相同,我們需要改一下。這是我們只需要將Method方法改爲Put,並在Body中加入正確的內容即可。比如我們更正的信息爲:

{
"id": 3,
"name": "小張",
"studentNumber": "20190315",
"class": "三年三班",
"address": "甘井子區"
}

在這裏插入圖片描述
點擊SEND,會看到返回結果
在這裏插入圖片描述
說明已經更改完畢。
使用Get方法查一下:
在這裏插入圖片描述 在這裏插入圖片描述

刪除

刪除只需要將Method方法改爲DELETE,然後在URL地址後添加一下要刪除的ID即可刪除,如下刪除的是第四個,“校長”的信息
在這裏插入圖片描述
返回的數據如下:
在這裏插入圖片描述
結果如下:
在這裏插入圖片描述 在這裏插入圖片描述

好了,所有的測試已經完成。接下來就是在Unity WebGL中使用了。

10、在Unity中使用

使用Unity2017.4.10創建一個Unity WebGL 工程,這裏我們就只寫兩個例子,讀取和增加。
注:因爲使用的方法是新版本的方法,故使用低版本的Unity可能會報錯。
unity中編寫的代碼:

    /// <summary>
    /// 增
    /// </summary>
    /// <returns></returns>
    IEnumerator Upload()
    {
        WWWForm form = new WWWForm();
        form.AddField("name", "大壯");
        form.AddField("studentNumber", "20170112");
        form.AddField("class", "四年一班");
        form.AddField("address", "瀋陽");

        UnityWebRequest www = UnityWebRequest.Post(URL, form);
        yield return www.SendWebRequest();

        if (www.isNetworkError || www.isHttpError)
        {
            Debug.Log(www.error);
            _errorText.text = www.error;
        }
        else
        {
            Debug.Log("Form upload complete!");
            _printText.text = "Form upload complete!";
        }
    }
  
    /// <summary>
    /// 查
    /// </summary>
    /// <returns></returns>
    IEnumerator OnGet()
    {
        UnityWebRequest webRequest = UnityWebRequest.Get(URL);
        yield return webRequest.SendWebRequest();


        string[] pages = URL.Split('/');
        int page = pages.Length - 1;

        if (webRequest.isNetworkError)
        {
            Debug.Log(pages[page] + ": Error: " + webRequest.error);
        }
        else
        {
            Debug.Log(pages[page] + ":\nReceived: " + webRequest.downloadHandler.text);
            _printText.text = webRequest.downloadHandler.text;
        }      
    }

其中URL爲你剛纔測試的連接,比如說我的是:http://localhost:58890/api/student
將其掛載到一個物體上發佈出來。然後運行。這些應該都很簡單了。但是運行的時候可能很多人會發現顯示不出來內容,這是一個坑,涉及到跨域的問題。詳情請見採坑文章。這裏。
運行結果,首先查一下:
在這裏插入圖片描述
然後向其中增加一項:
在這裏插入圖片描述
然後再查一下,發現多了一個:
在這裏插入圖片描述
看一下數據中,和我們查到的內容是一樣的。
在這裏插入圖片描述
到這裏基本上就OK了。就提應用就剩自己在豐富起來了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章