RestSharp編寫api介面測試,並實現非同步呼叫(不卡頓)

weipt發表於2024-07-24

首先,確保你已經安裝了RestSharp NuGet包。如果沒有安裝,可以透過以下命令安裝:

bash
Install-Package RestSharp

然後,在你的C#程式碼中,你可以按照以下步驟操作:

  1. 引用RestSharp名稱空間。
  2. 建立一個RestClient例項。
  3. 建立一個RestRequest例項,並設定請求方法和URL。
  4. 執行非同步POST請求。
  5. 處理響應。

以下是示例程式碼:

csharp
using System;
using System.Threading.Tasks;
using RestSharp;

public class RestClientExample
{
    private readonly RestClient _client;

    public RestClientExample(string baseUrl)
    {
        _client = new RestClient(baseUrl);
    }

    public async Task<RestResponse> GetAreaAsync()
    {
        var request = new RestRequest("GetArea", Method.Post);
        
        // 如果需要新增請求頭或請求體,可以在這裡進行
        // request.AddHeader("Authorization", "Bearer your-token");
        // request.AddParameter("key", "value");

        var response = await _client.ExecutePostAsync(request);
        return response;
    }
}

// 使用示例
class Program
{
    static async Task Main(string[] args)
    {
        var baseUrl = "http://example.com/api"; // 替換為你的API基礎URL
        var restClient = new RestClientExample(baseUrl);

        try
        {
            var response = await restClient.GetAreaAsync();
            
            if (response.IsSuccessful)
            {
                Console.WriteLine($"請求成功,響應內容:{response.Content}");
            }
            else
            {
                Console.WriteLine($"請求失敗,狀態碼:{response.StatusCode}, 錯誤資訊:{response.ErrorMessage}");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"發生異常:{ex.Message}");
        }
    }
}

請注意,你需要根據實際情況替換baseUrl變數的值,並且根據API的要求新增必要的請求頭和引數。如果API需要身份驗證,請確保新增相應的授權頭。

此外,如果你的API返回的是JSON格式的資料,你可以使用response.Content來獲取原始響應內容,然後使用JSON解析庫(如Newtonsoft.Json)來解析資料。

相關文章