Interface ScxURI

All Known Subinterfaces:
ScxURIWritable

public interface ScxURI

ScxURI 是对 URI 的抽象 ,提供了更直观、灵活的操作方式。

该接口强调 "原始未编码" 值的使用, 所有 URI 组成部分(如 scheme、host、path、query 等)在内部均以 未编码的原始字符串 形式存储

Version:
0.0.1
Author:
scx567888
  • Method Details

    • of

      static ScxURIWritable of()
      创建一个空的 ScxURI 实例
    • of

      static ScxURIWritable of(String rawStr)

      从一个原始的 URI 字符串创建 URI 实例。

      此方法适用于传入的是未经 URI 编码的原始字符串(如直接从用户输入中获取), 内部会自动对其进行 URI 编码后再构造 ScxURI 实例。

      示例:

      ScxURI.of("http://xxxx.com/路径?a=空 格");
      // 内部会先编码为 http://xxxx.com/%E8%B7%AF%E5%BE%84?a=%E7%A9%BA+%E6%A0%BC
      
      Parameters:
      rawStr - 原始未编码的 URI 字符串
      Returns:
      编码后解析得到的 ScxURI
    • ofEncoded

      static ScxURIWritable ofEncoded(String encodedStr)

      从一个已编码的标准 URI 字符串创建 URI 实例。

      此方法假设传入的字符串已经是合法的 URI 编码格式,内部不会再次进行编码,直接解析为 ScxURI

      示例:

      ScxURI.ofEncoded("https://xxxx.com/%E8%B7%AF%E5%BE%84?a=%E7%A9%BA+%E6%A0%BC");
      
      Parameters:
      encodedStr - 已编码的 URI 字符串
      Returns:
      解析得到的 ScxURI
    • of

      static ScxURIWritable of(URI u)
      从一个标准 URI 对象创建 URI 实例。
      Parameters:
      u - 标准 URI 对象
      Returns:
      构造得到的 ScxURI
    • of

      static ScxURIWritable of(ScxURI u)
    • scheme

      String scheme()
    • host

      String host()
    • port

      Integer port()
    • path

      String path()
    • query

    • fragment

      String fragment()
    • getQuery

      default String getQuery(String name)
    • encode

      default String encode()
      编码 (默认不进行 URI 编码)
      Returns:
      编码结果
    • encode

      default String encode(boolean uriEncoding)
      编码
      Parameters:
      uriEncoding - 是否进行 URI 编码
      Returns:
      编码结果
    • toURI

      default URI toURI()
      转换为 URI