Module bus.http

Class Request

java.lang.Object
org.miaixz.bus.http.Request

public class Request extends Object
HTTP 请求类,封装 HTTP 请求的所有信息,包括 URL、方法、头部、请求体和标签。

注意:当 body 为空时,实例是不可变的;否则,请求体可能影响实例状态。

Since:
Java 17+
Author:
Kimi Liu
  • Method Details

    • url

      public UnoUrl url()
      获取请求的 URL。
      Returns:
      UnoUrl 对象
    • method

      public String method()
      获取 HTTP 方法。
      Returns:
      方法名称(如 GET、POST)
    • headers

      public Headers headers()
      获取所有请求头部。
      Returns:
      Headers 对象
    • header

      public String header(String name)
      获取指定名称的第一个头部值。
      Parameters:
      name - 头部名称
      Returns:
      头部值(不存在时为 null)
    • headers

      public List<String> headers(String name)
      获取指定名称的头部值列表。
      Parameters:
      name - 头部名称
      Returns:
      头部值列表(可能为空)
    • body

      public RequestBody body()
      获取请求体。
      Returns:
      RequestBody 对象(可能为 null)
    • tag

      public Object tag()
      获取使用 Object.class 作为键的标签。

      如果没有附加标签,返回 null。如果需要获取派生请求的标签,需通过 newBuilder() 创建新实例。

      Returns:
      标签对象(可能为 null)
    • tag

      public <T> T tag(Class<? extends T> type)
      获取指定类型的标签。

      使用指定的 type 作为键从标签映射中获取值。返回值为指定类型的实例, 或 null(如果标签不存在)。

      Type Parameters:
      T - 标签值的类型
      Parameters:
      type - 标签类型
      Returns:
      标签值(可能为 null)
    • newBuilder

      public Request.Builder newBuilder()
      创建新的 Builder 实例,基于当前 Request。
      Returns:
      Builder 实例
    • cacheControl

      public CacheControl cacheControl()
      获取缓存控制指令。

      即使请求不包含 "Cache-Control" 头部,也返回非 null 的 CacheControl 对象。 使用延迟初始化以提高性能。

      Returns:
      CacheControl 对象
    • isHttps

      public boolean isHttps()
      检查请求是否使用 HTTPS 协议。
      Returns:
      true 如果 URL 使用 HTTPS
    • toString

      public String toString()
      返回请求的字符串表示。
      Overrides:
      toString in class Object
      Returns:
      包含方法、URL 和标签的字符串