クラス UriUtils
java.lang.ObjectSE
org.springframework.web.util.UriUtils
RFC 3986 に基づく URI エンコードおよびデコードのユーティリティメソッド。
エンコード方式には 2 つの型があります。
"encodeXyz"
-- これらは、非 US-ASCII 文字や、RFC 3986 で定義されているように、指定された URI コンポーネント型内で不正である文字を含む不正文字のパーセントで特定の URI コンポーネント(パス、クエリなど)をエンコードします。このメソッドのエンコーディングに関しては、URI
SE のマルチ引数コンストラクターを使用することに匹敵します。"encode"
および"encodeUriVariables"
- これらは、URI 内のどこでも、不正であるか、意味が予約されているすべての文字をパーセントでエンコードすることにより、URI 変数値をエンコードするために使用できます。
- 導入:
- 3.0
- 作成者:
- Arjen Poutsma, Juergen Hoeller, Rossen Stoyanchev
- 関連事項:
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明static StringSE
指定されたエンコードされた URI コンポーネントをデコードします。static StringSE
指定されたエンコードされた URI コンポーネントをデコードします。static StringSE
文字列文字セットを持つencode(String, Charset)
のバリアント。static StringSE
RFC 3986 で定義されているように、URI 内のどこでも、不正であるか、意味が予約されているすべての文字をエンコードします。static StringSE
encodeAuthority
(StringSE authority, StringSE encoding) 指定された URI オーソリティを指定されたエンコードでエンコードします。static StringSE
encodeAuthority
(StringSE authority, CharsetSE charset) 指定された URI オーソリティを指定されたエンコードでエンコードします。static StringSE
encodeFragment
(StringSE fragment, StringSE encoding) 指定された URI フラグメントを指定されたエンコードでエンコードします。static StringSE
encodeFragment
(StringSE fragment, CharsetSE charset) 指定された URI フラグメントを指定されたエンコードでエンコードします。static StringSE
encodeHost
(StringSE host, StringSE encoding) 指定されたエンコーディングで、指定された URI ホストをエンコードします。static StringSE
encodeHost
(StringSE host, CharsetSE charset) 指定されたエンコーディングで、指定された URI ホストをエンコードします。static StringSE
encodePath
(StringSE path, StringSE encoding) 指定された URI パスを指定されたエンコードでエンコードします。static StringSE
encodePath
(StringSE path, CharsetSE charset) 指定された URI パスを指定されたエンコードでエンコードします。static StringSE
encodePathSegment
(StringSE segment, StringSE encoding) 指定されたエンコーディングで、指定された URI パスセグメントをエンコードします。static StringSE
encodePathSegment
(StringSE segment, CharsetSE charset) 指定されたエンコーディングで、指定された URI パスセグメントをエンコードします。static StringSE
encodePort
(StringSE port, StringSE encoding) 指定された URI ポートを指定されたエンコードでエンコードします。static StringSE
encodePort
(StringSE port, CharsetSE charset) 指定された URI ポートを指定されたエンコードでエンコードします。static StringSE
encodeQuery
(StringSE query, StringSE encoding) 指定された URI クエリを指定されたエンコーディングでエンコードします。static StringSE
encodeQuery
(StringSE query, CharsetSE charset) 指定された URI クエリを指定されたエンコーディングでエンコードします。static StringSE
encodeQueryParam
(StringSE queryParam, StringSE encoding) 指定された URI クエリパラメーターを指定されたエンコーディングでエンコードします。static StringSE
encodeQueryParam
(StringSE queryParam, CharsetSE charset) 指定された URI クエリパラメーターを指定されたエンコーディングでエンコードします。static MultiValueMap<StringSE,
StringSE> encodeQueryParams
(MultiValueMap<StringSE, StringSE> params) 指定されたMultiValueMap
のクエリパラメーターを UTF-8 でエンコードします。static StringSE
encodeScheme
(StringSE scheme, StringSE encoding) 指定されたエンコーディングで指定された URI スキームをエンコードします。static StringSE
encodeScheme
(StringSE scheme, CharsetSE charset) 指定されたエンコーディングで指定された URI スキームをエンコードします。static ObjectSE[]
encodeUriVariables
(ObjectSE... uriVariables) 指定されたすべての URI 変数値にencode(String, Charset)
を適用する便利なメソッド。encodeUriVariables
(MapSE<StringSE, ?> uriVariables) 指定されたすべての URI 変数値にencode(String, Charset)
を適用する便利なメソッド。static StringSE
encodeUserInfo
(StringSE userInfo, StringSE encoding) 指定された URI ユーザー情報を指定されたエンコードでエンコードします。static StringSE
encodeUserInfo
(StringSE userInfo, CharsetSE charset) 指定された URI ユーザー情報を指定されたエンコードでエンコードします。static StringSE
extractFileExtension
(StringSE path) 指定された URI パスからファイル拡張子を抽出します。
コンストラクターの詳細
UriUtils
public UriUtils()
メソッドの詳細
encodeScheme
指定されたエンコーディングで指定された URI スキームをエンコードします。- パラメーター:
scheme
- エンコードされるスキームencoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたスキーム
encodeScheme
指定されたエンコーディングで指定された URI スキームをエンコードします。- パラメーター:
scheme
- エンコードされるスキームcharset
- エンコードする文字エンコード- 戻り値:
- エンコードされたスキーム
- 導入:
- 5.0
encodeAuthority
指定された URI オーソリティを指定されたエンコードでエンコードします。- パラメーター:
authority
- エンコードされる権限encoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたオーソリティ
encodeAuthority
指定された URI オーソリティを指定されたエンコードでエンコードします。- パラメーター:
authority
- エンコードされる権限charset
- エンコードする文字エンコード- 戻り値:
- エンコードされたオーソリティ
- 導入:
- 5.0
encodeUserInfo
指定された URI ユーザー情報を指定されたエンコードでエンコードします。- パラメーター:
userInfo
- エンコードされるユーザー情報encoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたユーザー情報
encodeUserInfo
指定された URI ユーザー情報を指定されたエンコードでエンコードします。- パラメーター:
userInfo
- エンコードされるユーザー情報charset
- エンコードする文字エンコード- 戻り値:
- エンコードされたユーザー情報
- 導入:
- 5.0
encodeHost
指定されたエンコーディングで、指定された URI ホストをエンコードします。- パラメーター:
host
- エンコードされるホストencoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたホスト
encodeHost
指定されたエンコーディングで、指定された URI ホストをエンコードします。- パラメーター:
host
- エンコードされるホストcharset
- エンコードする文字エンコード- 戻り値:
- エンコードされたホスト
- 導入:
- 5.0
encodePort
指定された URI ポートを指定されたエンコードでエンコードします。- パラメーター:
port
- エンコードされるポートencoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたポート
encodePort
指定された URI ポートを指定されたエンコードでエンコードします。- パラメーター:
port
- エンコードされるポートcharset
- エンコードする文字エンコード- 戻り値:
- エンコードされたポート
- 導入:
- 5.0
encodePath
指定された URI パスを指定されたエンコードでエンコードします。- パラメーター:
path
- エンコードされるパスencoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたパス
encodePath
指定された URI パスを指定されたエンコードでエンコードします。- パラメーター:
path
- エンコードされるパスcharset
- エンコードする文字エンコード- 戻り値:
- エンコードされたパス
- 導入:
- 5.0
encodePathSegment
指定されたエンコーディングで、指定された URI パスセグメントをエンコードします。- パラメーター:
segment
- エンコードされるセグメントencoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたセグメント
encodePathSegment
指定されたエンコーディングで、指定された URI パスセグメントをエンコードします。- パラメーター:
segment
- エンコードされるセグメントcharset
- エンコードする文字エンコード- 戻り値:
- エンコードされたセグメント
- 導入:
- 5.0
encodeQuery
指定された URI クエリを指定されたエンコーディングでエンコードします。- パラメーター:
query
- エンコードされるクエリencoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたクエリ
encodeQuery
指定された URI クエリを指定されたエンコーディングでエンコードします。- パラメーター:
query
- エンコードされるクエリcharset
- エンコードする文字エンコード- 戻り値:
- エンコードされたクエリ
- 導入:
- 5.0
encodeQueryParam
指定された URI クエリパラメーターを指定されたエンコーディングでエンコードします。- パラメーター:
queryParam
- エンコードされるクエリパラメーターencoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたクエリパラメーター
encodeQueryParam
指定された URI クエリパラメーターを指定されたエンコーディングでエンコードします。- パラメーター:
queryParam
- エンコードされるクエリパラメーターcharset
- エンコードする文字エンコード- 戻り値:
- エンコードされたクエリパラメーター
- 導入:
- 5.0
encodeQueryParams
public static MultiValueMap<StringSE,StringSE> encodeQueryParams(MultiValueMap<StringSE, StringSE> params) 指定されたMultiValueMap
のクエリパラメーターを UTF-8 でエンコードします。これは、エンコード済みのテンプレートから URI を作成するときに
UriComponentsBuilder.queryParams(MultiValueMap)
で使用できます。MultiValueMap<String, String> params = new LinkedMultiValueMap<>(2); // add to params... ServletUriComponentsBuilder.fromCurrentRequest() .queryParams(UriUtils.encodeQueryParams(params)) .build(true) .toUriString();
- パラメーター:
params
- エンコードするパラメーター- 戻り値:
- エンコードされた名前と値を持つ新しい
MultiValueMap
- 導入:
- 5.2.3
encodeFragment
指定された URI フラグメントを指定されたエンコードでエンコードします。- パラメーター:
fragment
- エンコードされるフラグメントencoding
- エンコードする文字エンコード- 戻り値:
- エンコードされたフラグメント
encodeFragment
指定された URI フラグメントを指定されたエンコードでエンコードします。- パラメーター:
fragment
- エンコードされるフラグメントcharset
- エンコードする文字エンコード- 戻り値:
- エンコードされたフラグメント
- 導入:
- 5.0
encode
文字列文字セットを持つencode(String, Charset)
のバリアント。- パラメーター:
source
- エンコードされる文字列encoding
- エンコードする文字エンコード- 戻り値:
- エンコードされた文字列
encode
RFC 3986 で定義されているように、URI 内の任意の場所で、不正な文字、予約された意味を持つすべての文字をエンコードします。これは、指定された文字列がそのまま保持され、URI の構造や意味に影響を与えないようにできます。- パラメーター:
source
- エンコードされる文字列charset
- エンコードする文字エンコード- 戻り値:
- エンコードされた文字列
- 導入:
- 5.0
encodeUriVariables
指定されたすべての URI 変数値にencode(String, Charset)
を適用する便利なメソッド。- パラメーター:
uriVariables
- エンコードされる URI 変数値- 戻り値:
- エンコードされた文字列
- 導入:
- 5.0
encodeUriVariables
指定されたすべての URI 変数値にencode(String, Charset)
を適用する便利なメソッド。- パラメーター:
uriVariables
- エンコードされる URI 変数値- 戻り値:
- エンコードされた文字列
- 導入:
- 5.0
decode
指定されたエンコードされた URI コンポーネントをデコードします。デコード規則については、
StringUtils.uriDecode(String, Charset)
を参照してください。- パラメーター:
source
- エンコードされた文字列encoding
- 使用する文字エンコーディング- 戻り値:
- デコードされた値
- 例外:
IllegalArgumentExceptionSE
- 指定されたソースに無効なエンコードされたシーケンスが含まれている場合- 関連事項:
decode
指定されたエンコードされた URI コンポーネントをデコードします。デコード規則については、
StringUtils.uriDecode(String, Charset)
を参照してください。- パラメーター:
source
- エンコードされた文字列charset
- 使用する文字エンコーディング- 戻り値:
- デコードされた値
- 例外:
IllegalArgumentExceptionSE
- 指定されたソースに無効なエンコードされたシーケンスが含まれている場合- 導入:
- 5.0
- 関連事項:
extractFileExtension
指定された URI パスからファイル拡張子を抽出します。- パラメーター:
path
- URI パス (たとえば "/products/index.html")- 戻り値:
- 抽出されたファイル拡張子 (たとえば "html" )
- 導入:
- 4.3.2