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。
介紹完畢,謝謝。

留言

這個網誌中的熱門文章

Python-相關係數矩陣實作(python-correlation matrix )

ASP.NET-後端將值傳給javascript

ASP.NET-FileUpload上傳後自動觸發button click(FileUpload upload auto trigger button click)