C# Uri串接參數的好工具Flurl

當我們使用HttpClient呼叫web api和URL時。我們往往會用string方式來設定該URL的參數-如id值等等,例如以下:

結果如下

可用string.format方式或C# 6提供的方法傳入參數。然而這些方法也產生了一個嚴重的問題-可讀性。當參數越多,該URL string也越冗長更亂。本文推薦一個好用的庫-Flurl。

Flurl可由nuget下載

PM> Install-Package Flurl

或也可用dotnet cli方式下載

dotnet add package Flurl

下載Flurl後可修改和精簡以上程式碼如下

以上程式碼主要透過AppendPathSegment和SetQueryParam兩個Flurl庫提供的方法,來組合Url的Path和QueryString。我們也可依情況刪減QueryString。

另外也可以用SetQueryParams方法,該方法可接受類別或任何有鍵值的集合-如(字典Dict或元祖Tuples)

實作和學習Flurl庫提供的方法並不會花太多時間,有效的使用該庫(Flurl)可增加程式碼的可讀性。