ASP.NET-Web Service(API)接收參數並回傳json格式
這篇要介紹一個ASP.NET的專案,要如何建一個Web Service並可以接收別人給的參數,經過處理後回傳一json格式的Web API。
Step 1.新增asmx檔
Step 2.在App_Code資料夾找到取名一樣的.cs,因為要回傳json所以要定義一個類別,到時再用工具把這類別產生的物件轉成json,這次我想回傳的是一個json陣列。
宣告類別
public class Test
{
public List<string> testList
{
get;
set;
}
}
再來你會在程式內看到[WebMethod]就是要你把處理的動作寫在這,如果有多個就自己新增[WebMethod]。
因此我就寫了一個method需要傳一個string參數,這個method與參數到時候會跟你打過去的API有關係。
在這邊我用的Json工具是Newtonsoft.Json所以別忘了在開頭using
using Newtonsoft.Json;
public void testMethod(string content)
{
//宣告物件
Test test = new Test();
//宣告個list等等給物件的list接值
List<string> word = new List<string>();
word.Add(content);
test.testList = word;
Context.Response.Write(JsonConvert.SerializeObject(test));
}
OK到這裡應該會有下圖的東西了。
Step 3:將Web Service發佈到Server上
專案 > add > Service Reference > Advanced > Add Web Reference > 輸入你server上的asmx路徑
之後它就會展生一包資料夾叫App_WebReferences然後把你的整包專案上到你的Server後API即可使用。
之後你要打API
http://路徑/test.asmx/testMethod?content=測試API
即可呼叫testWord這個方法並且給予content參數,這給參數的方式用get當然也可以用post。
介紹完畢,謝謝。
Step 1.新增asmx檔
Step 2.在App_Code資料夾找到取名一樣的.cs,因為要回傳json所以要定義一個類別,到時再用工具把這類別產生的物件轉成json,這次我想回傳的是一個json陣列。
宣告類別
public class Test
{
public List<string> testList
{
get;
set;
}
}
再來你會在程式內看到[WebMethod]就是要你把處理的動作寫在這,如果有多個就自己新增[WebMethod]。
因此我就寫了一個method需要傳一個string參數,這個method與參數到時候會跟你打過去的API有關係。
在這邊我用的Json工具是Newtonsoft.Json所以別忘了在開頭using
using Newtonsoft.Json;
public void testMethod(string content)
{
//宣告物件
Test test = new Test();
//宣告個list等等給物件的list接值
List<string> word = new List<string>();
word.Add(content);
test.testList = word;
Context.Response.Write(JsonConvert.SerializeObject(test));
}
OK到這裡應該會有下圖的東西了。
Step 3:將Web Service發佈到Server上
專案 > add > Service Reference > Advanced > Add Web Reference > 輸入你server上的asmx路徑
之後它就會展生一包資料夾叫App_WebReferences然後把你的整包專案上到你的Server後API即可使用。
之後你要打API
http://路徑/test.asmx/testMethod?content=測試API
即可呼叫testWord這個方法並且給予content參數,這給參數的方式用get當然也可以用post。
介紹完畢,謝謝。
留言
張貼留言