2016-03-09 93 views
0

如果我將下面的jquery代碼放在html頁面內的腳本標記中,並將html頁面拖到Web瀏覽器中,則會調用URL中指定的API,我以JSON格式返回響應。所以這個效果很好。如何從.NET中調用node.js REST API

我想使用.NET調用node.js中創建的其餘API的原因是因爲我想使用Visual Studio中存在的單元測試實用程序。

因此,當我啓動單元測試時,應該調用在node.js中創建的REST API,然後使用assert.AreEqual來檢查返回的json格式中的任何內容。

我已經google了很多,並且在ASP.NET Web API 2中有幾個關於 單元測試控制器的例子,但我不想單元測試控制器。我只想在我開始單元測試時調用REST API(在node.js中創建)。

我認爲以我想要的方式使用.NET可能相當少見。

如果不可能以我想要的方式使用.NET和單元測試 我將使用另一個測試框架。 我希望能從這裏得到一些幫助。

希望你明白我的意思。

$.ajax({ 
    type: 'GET', 
    url: 'http://10.1.23.168:3000/api/v1/users/1', 
    dataType: 'json', 
    async: false, 
    headers: { 
    'Authorization': 'Basic ' + btoa('DEFAULT/user:password') 
    }, 
    success: function(response) { 
     //your success code 
     console.log(response); 
    }, 
    error: function (err) { 
     //your error code 
     console.log(err); 
    } 
}); 

非常感謝

回答

0

基本上你需要做的就是調用node.js的API從C#測試代碼中調用它使用jQuery相同的方式。有幾種方法可以做到這一點:

  1. 使用HttpWebRequest類https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest%28v=vs.110%29.aspx
  2. 使用的HttpClient類https://msdn.microsoft.com/en-us/library/system.net.http.httpclient%28v=vs.118%29.aspx它更「RESTable」,因爲它暴露的方法來調用HTTP方法,如GET,PUT,POST和直接刪除的方法。
  3. 第三方軟件http://restsharp.org/

一般來說,我推薦的方法#2。