Interface ScxURI
- All Known Subinterfaces:
ScxURIWritable
public interface ScxURI
ScxURI 是对 URI 的抽象 ,提供了更直观、灵活的操作方式。
该接口强调 "原始未编码" 值的使用, 所有 URI 组成部分(如 scheme、host、path、query 等)在内部均以 未编码的原始字符串 形式存储
- Version:
- 0.0.1
- Author:
- scx567888
-
Method Summary
Modifier and TypeMethodDescriptiondefault Stringencode()编码 (默认不进行 URI 编码)default Stringencode(boolean uriEncoding) 编码fragment()default Stringhost()static ScxURIWritableof()创建一个空的 ScxURI 实例static ScxURIWritablestatic ScxURIWritable从一个原始的 URI 字符串创建 URI 实例。static ScxURIWritable从一个标准 URI 对象创建 URI 实例。static ScxURIWritable从一个已编码的标准 URI 字符串创建 URI 实例。path()port()query()scheme()default URItoURI()转换为 URI
-
Method Details
-
of
创建一个空的 ScxURI 实例 -
of
从一个原始的 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
从一个已编码的标准 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
从一个标准 URI 对象创建 URI 实例。- Parameters:
u- 标准 URI 对象- Returns:
- 构造得到的 ScxURI
-
of
-
scheme
String scheme() -
host
String host() -
port
Integer port() -
path
String path() -
query
Parameters<String,String> query() -
fragment
String fragment() -
getQuery
-
encode
-
encode
-
toURI
转换为 URI
-