クラス UriUtils

java.lang.ObjectSE
org.springframework.web.util.UriUtils

public abstract class UriUtils extends ObjectSE
RFC 3986 に基づく URI エンコードおよびデコードのユーティリティメソッド。

エンコード方式には 2 つの型があります。

  • "encodeXyz" -- これらは、非 US-ASCII 文字や、RFC 3986 で定義されているように、指定された URI コンポーネント型内で不正である文字を含む不正文字のパーセントで特定の URI コンポーネント(パス、クエリなど)をエンコードします。このメソッドのエンコーディングに関しては、URISE のマルチ引数コンストラクターを使用することに匹敵します。
  • "encode" および "encodeUriVariables" - これらは、URI 内のどこでも、不正であるか、意味が予約されているすべての文字をパーセントでエンコードすることにより、URI 変数値をエンコードするために使用できます。
導入:
3.0
作成者:
Arjen Poutsma, Juergen Hoeller, Rossen Stoyanchev
関連事項:
  • コンストラクターの詳細

    • UriUtils

      public UriUtils()
  • メソッドの詳細

    • encodeScheme

      public static StringSE encodeScheme(StringSE scheme, StringSE encoding)
      指定されたエンコーディングで指定された URI スキームをエンコードします。
      パラメーター:
      scheme - エンコードされるスキーム
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたスキーム
    • encodeScheme

      public static StringSE encodeScheme(StringSE scheme, CharsetSE charset)
      指定されたエンコーディングで指定された URI スキームをエンコードします。
      パラメーター:
      scheme - エンコードされるスキーム
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされたスキーム
      導入:
      5.0
    • encodeAuthority

      public static StringSE encodeAuthority(StringSE authority, StringSE encoding)
      指定された URI オーソリティを指定されたエンコードでエンコードします。
      パラメーター:
      authority - エンコードされる権限
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたオーソリティ
    • encodeAuthority

      public static StringSE encodeAuthority(StringSE authority, CharsetSE charset)
      指定された URI オーソリティを指定されたエンコードでエンコードします。
      パラメーター:
      authority - エンコードされる権限
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされたオーソリティ
      導入:
      5.0
    • encodeUserInfo

      public static StringSE encodeUserInfo(StringSE userInfo, StringSE encoding)
      指定された URI ユーザー情報を指定されたエンコードでエンコードします。
      パラメーター:
      userInfo - エンコードされるユーザー情報
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたユーザー情報
    • encodeUserInfo

      public static StringSE encodeUserInfo(StringSE userInfo, CharsetSE charset)
      指定された URI ユーザー情報を指定されたエンコードでエンコードします。
      パラメーター:
      userInfo - エンコードされるユーザー情報
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされたユーザー情報
      導入:
      5.0
    • encodeHost

      public static StringSE encodeHost(StringSE host, StringSE encoding)
      指定されたエンコーディングで、指定された URI ホストをエンコードします。
      パラメーター:
      host - エンコードされるホスト
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたホスト
    • encodeHost

      public static StringSE encodeHost(StringSE host, CharsetSE charset)
      指定されたエンコーディングで、指定された URI ホストをエンコードします。
      パラメーター:
      host - エンコードされるホスト
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされたホスト
      導入:
      5.0
    • encodePort

      public static StringSE encodePort(StringSE port, StringSE encoding)
      指定された URI ポートを指定されたエンコードでエンコードします。
      パラメーター:
      port - エンコードされるポート
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたポート
    • encodePort

      public static StringSE encodePort(StringSE port, CharsetSE charset)
      指定された URI ポートを指定されたエンコードでエンコードします。
      パラメーター:
      port - エンコードされるポート
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされたポート
      導入:
      5.0
    • encodePath

      public static StringSE encodePath(StringSE path, StringSE encoding)
      指定された URI パスを指定されたエンコードでエンコードします。
      パラメーター:
      path - エンコードされるパス
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたパス
    • encodePath

      public static StringSE encodePath(StringSE path, CharsetSE charset)
      指定された URI パスを指定されたエンコードでエンコードします。
      パラメーター:
      path - エンコードされるパス
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされたパス
      導入:
      5.0
    • encodePathSegment

      public static StringSE encodePathSegment(StringSE segment, StringSE encoding)
      指定されたエンコーディングで、指定された URI パスセグメントをエンコードします。
      パラメーター:
      segment - エンコードされるセグメント
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたセグメント
    • encodePathSegment

      public static StringSE encodePathSegment(StringSE segment, CharsetSE charset)
      指定されたエンコーディングで、指定された URI パスセグメントをエンコードします。
      パラメーター:
      segment - エンコードされるセグメント
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされたセグメント
      導入:
      5.0
    • encodeQuery

      public static StringSE encodeQuery(StringSE query, StringSE encoding)
      指定された URI クエリを指定されたエンコーディングでエンコードします。
      パラメーター:
      query - エンコードされるクエリ
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたクエリ
    • encodeQuery

      public static StringSE encodeQuery(StringSE query, CharsetSE charset)
      指定された URI クエリを指定されたエンコーディングでエンコードします。
      パラメーター:
      query - エンコードされるクエリ
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされたクエリ
      導入:
      5.0
    • encodeQueryParam

      public static StringSE encodeQueryParam(StringSE queryParam, StringSE encoding)
      指定された URI クエリパラメーターを指定されたエンコーディングでエンコードします。
      パラメーター:
      queryParam - エンコードされるクエリパラメーター
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたクエリパラメーター
    • encodeQueryParam

      public static StringSE encodeQueryParam(StringSE queryParam, CharsetSE charset)
      指定された 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

      public static StringSE encodeFragment(StringSE fragment, StringSE encoding)
      指定された URI フラグメントを指定されたエンコードでエンコードします。
      パラメーター:
      fragment - エンコードされるフラグメント
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされたフラグメント
    • encodeFragment

      public static StringSE encodeFragment(StringSE fragment, CharsetSE charset)
      指定された URI フラグメントを指定されたエンコードでエンコードします。
      パラメーター:
      fragment - エンコードされるフラグメント
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされたフラグメント
      導入:
      5.0
    • encode

      public static StringSE encode(StringSE source, StringSE encoding)
      文字列文字セットを持つ encode(String, Charset) のバリアント。
      パラメーター:
      source - エンコードされる文字列
      encoding - エンコードする文字エンコード
      戻り値:
      エンコードされた文字列
    • encode

      public static StringSE encode(StringSE source, CharsetSE charset)
      RFC 3986 で定義されているように、URI 内の任意の場所で、不正な文字、予約された意味を持つすべての文字をエンコードします。これは、指定された文字列がそのまま保持され、URI の構造や意味に影響を与えないようにできます。
      パラメーター:
      source - エンコードされる文字列
      charset - エンコードする文字エンコード
      戻り値:
      エンコードされた文字列
      導入:
      5.0
    • encodeUriVariables

      public static MapSE<StringSE,StringSE> encodeUriVariables(MapSE<StringSE,?> uriVariables)
      指定されたすべての URI 変数値に encode(String, Charset) を適用する便利なメソッド。
      パラメーター:
      uriVariables - エンコードされる URI 変数値
      戻り値:
      エンコードされた文字列
      導入:
      5.0
    • encodeUriVariables

      public static ObjectSE[] encodeUriVariables(ObjectSE... uriVariables)
      指定されたすべての URI 変数値に encode(String, Charset) を適用する便利なメソッド。
      パラメーター:
      uriVariables - エンコードされる URI 変数値
      戻り値:
      エンコードされた文字列
      導入:
      5.0
    • decode

      public static StringSE decode(StringSE source, StringSE encoding)
      指定されたエンコードされた URI コンポーネントをデコードします。

      デコード規則については、StringUtils.uriDecode(String, Charset) を参照してください。

      パラメーター:
      source - エンコードされた文字列
      encoding - 使用する文字エンコーディング
      戻り値:
      デコードされた値
      例外:
      IllegalArgumentExceptionSE - 指定されたソースに無効なエンコードされたシーケンスが含まれている場合
      関連事項:
    • decode

      public static StringSE decode(StringSE source, CharsetSE charset)
      指定されたエンコードされた URI コンポーネントをデコードします。

      デコード規則については、StringUtils.uriDecode(String, Charset) を参照してください。

      パラメーター:
      source - エンコードされた文字列
      charset - 使用する文字エンコーディング
      戻り値:
      デコードされた値
      例外:
      IllegalArgumentExceptionSE - 指定されたソースに無効なエンコードされたシーケンスが含まれている場合
      導入:
      5.0
      関連事項:
    • extractFileExtension

      @Nullable public static StringSE extractFileExtension(StringSE path)
      指定された URI パスからファイル拡張子を抽出します。
      パラメーター:
      path - URI パス (たとえば "/products/index.html")
      戻り値:
      抽出されたファイル拡張子 (たとえば "html" )
      導入:
      4.3.2