Class NameValuePairs

java.lang.Object
io.leandev.appfuse.http.NameValuePairs

public class NameValuePairs extends Object

HTTP 查詢參數工具類

將 Java 物件轉換為 Apache HttpClient 的 NameValuePair 列表, 用於建構 URL 查詢參數或表單參數。

功能特性

  • 自動提取物件屬性並轉換為參數
  • 自動過濾 null 值
  • 自動過濾空字串
  • 支援任意 POJO 物件

使用範例

```java // 定義查詢參數物件 public class SearchParams { private String keyword; private Integer page; private String sortBy; // getters and setters }

// 建立參數 SearchParams params = new SearchParams(); params.setKeyword("java"); params.setPage(1); // sortBy 保持 null

// 轉換為 NameValuePair List pairs = NameValuePairs.of(params); // 結果: [keyword=java, page=1] // 注意: sortBy 因為是 null 所以被過濾掉

// 配合 URIBuilder 使用 URI uri = new URIBuilder("https://api.example.com/search") .addParameters(pairs) .build(); // 結果: https://api.example.com/search?keyword=java&page=1


<h2>過濾規則</h2>
以下情況的屬性會被自動過濾,不會包含在結果中:

- 屬性值為 null
- 屬性值轉換為字串後為空字串("")
Since:
1.0
See Also:
  • Method Details

    • of

      public static List<org.apache.hc.core5.http.NameValuePair> of(Object object)

      將物件轉換為 NameValuePair 列表

      使用 PropertyMap 提取物件的所有屬性, 並轉換為 Apache HttpClient 的 NameValuePair 格式。

      null 值和空字串會被自動過濾。

      Parameters:
      object - 要轉換的物件(不可為 null)
      Returns:
      NameValuePair 列表(不包含 null 或空值)
      Throws:
      NullPointerException - 如果 object 為 null