パッケージ jakarta.ws.rs.core
インターフェース UriInfo
public interface UriInfo
アプリケーションへのアクセスを提供し、URI 情報をリクエストする注入可能なインターフェース。相対 URI は、アプリケーションのベース URI を基準にしています。getBaseUri()
を参照してください。すべてのメソッドは、リクエストのスコープ外で(プロバイダーコンストラクターなどから)呼び出されると、
java.lang.IllegalStateException
をスローします。- 導入:
- 1.0
- 作成者:
- Paul Sandoz, Marc Hadley
- 関連事項:
Context
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 URISE
getAbsolutePath()
リクエストの絶対パスを取得します。UriBuilder
getAbsolutePathBuilder()
リクエストの絶対パスを UriBuilder の形式で取得します。URISE
getBaseUri()
アプリケーションのベース URI を取得します。UriBuilder
getBaseUriBuilder()
アプリケーションのベース URI を UriBuilder の形式で取得します。ListSE<ObjectSE>
getMatchedResources()
現在一致しているリソースクラスインスタンスの読み取り専用リストを取得します。ListSE<StringSE>
getMatchedURIs()
一致したリソースの URI の読み取り専用リストを取得します。ListSE<StringSE>
getMatchedURIs(boolean decode)
一致したリソースの URI の読み取り専用リストを取得します。StringSE
getPath()
現在のリクエストのベース URI からの相対パスを文字列として取得します。StringSE
getPath(boolean decode)
現在のリクエストのベース URI からの相対パスを文字列として取得します。MultivaluedMap<StringSE,StringSE>
getPathParameters()
埋め込まれた URI テンプレートパラメーターの値を取得します。MultivaluedMap<StringSE,StringSE>
getPathParameters(boolean decode)
埋め込まれた URI テンプレートパラメーターの値を取得します。ListSE<PathSegment>
getPathSegments()
PathSegment
のリストとして、ベース URI に対する現在のリクエストのパスを取得します。ListSE<PathSegment>
getPathSegments(boolean decode)
PathSegment
のリストとして、ベース URI に対する現在のリクエストのパスを取得します。MultivaluedMap<StringSE,StringSE>
getQueryParameters()
現在のリクエストの URI クエリパラメーターを取得します。MultivaluedMap<StringSE,StringSE>
getQueryParameters(boolean decode)
現在のリクエストの URI クエリパラメーターを取得します。URISE
getRequestUri()
クエリパラメーターを含む絶対リクエスト URI を取得します。UriBuilder
getRequestUriBuilder()
UriBuilder の形式で絶対リクエスト URI を取得します。URISE
relativize(URISE uri)
現在のリクエスト URI に関して URI を相対化します。URISE
resolve(URISE uri)
アプリケーションのベース URI に関連する相対 URI を解決します。
メソッドの詳細
getPath
StringSE getPath()
現在のリクエストのベース URI からの相対パスを文字列として取得します。エスケープされたオクテットのすべてのシーケンスがデコードされます。これはgetPath(true)
と同等です。- 戻り値:
- 相対 URI パス。
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。
getPath
StringSE getPath(boolean decode)
現在のリクエストのベース URI からの相対パスを文字列として取得します。- パラメーター:
decode
- エスケープされたオクテットのシーケンスがデコードされるか(true
)、デコードされないか(false
)を制御します。- 戻り値:
- 相対 URI パス
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。
getPathSegments
ListSE<PathSegment> getPathSegments()
PathSegment
のリストとして、ベース URI に対する現在のリクエストのパスを取得します。このメソッドは、パスを解析する必要がある場合、特にマトリックスパラメーターがパスに存在する可能性がある場合に役立ちます。パスセグメントのエスケープされたオクテットとマトリックスパラメーター値のすべてのシーケンスがデコードされます。これはgetPathSegments(true)
と同等です。- 戻り値:
PathSegment
の変更不可能なリスト。各パスセグメントのマトリックスパラメーターマップも変更できません。- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合- 関連事項:
PathSegment
, マトリックス URI
getPathSegments
ListSE<PathSegment> getPathSegments(boolean decode)
PathSegment
のリストとして、ベース URI に対する現在のリクエストのパスを取得します。このメソッドは、パスを解析する必要がある場合、特にマトリックスパラメーターがパスに存在する可能性がある場合に役立ちます。- パラメーター:
decode
- パスセグメントのエスケープされたオクテットのシーケンスとマトリックスパラメーター値がデコードされるか(true
)、デコードされないか(false
)を制御します。- 戻り値:
PathSegment
の変更不可能なリスト。各パスセグメントのマトリックスパラメーターマップも変更できません。- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合- 関連事項:
PathSegment
, マトリックス URI
getRequestUri
URISE getRequestUri()
クエリパラメーターを含む絶対リクエスト URI を取得します。- 戻り値:
- 絶対リクエスト URI
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合
getRequestUriBuilder
UriBuilder getRequestUriBuilder()
UriBuilder の形式で絶対リクエスト URI を取得します。- 戻り値:
- 絶対リクエスト URI で初期化された UriBuilder。
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。
getAbsolutePath
URISE getAbsolutePath()
リクエストの絶対パスを取得します。これには、パスの前にあるすべて(ホスト、ポートなど)が含まれますが、クエリパラメーターは含まれません。これはuriInfo.getBaseUri().resolve(uriInfo.getPath(false))
のショートカットです。- 戻り値:
- リクエストの絶対パス。
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。
getAbsolutePathBuilder
UriBuilder getAbsolutePathBuilder()
UriBuilder の形式でリクエストの絶対パスを取得します。これには、パスの前にあるすべて(ホスト、ポートなど)が含まれますが、クエリパラメーターは含まれません。- 戻り値:
- リクエストの絶対パスで初期化された UriBuilder。
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。
getBaseUri
URISE getBaseUri()
アプリケーションのベース URI を取得します。ルートリソースクラスの URI はすべて、このベース URI に関連しています。- 戻り値:
- アプリケーションのベース URI。
getBaseUriBuilder
UriBuilder getBaseUriBuilder()
アプリケーションのベース URI を UriBuilder の形式で取得します。- 戻り値:
- アプリケーションのベース URI で初期化された UriBuilder。
getPathParameters
MultivaluedMap<StringSE,StringSE> getPathParameters()
埋め込まれた URI テンプレートパラメーターの値を取得します。エスケープされたオクテットのすべてのシーケンスがデコードされます。これはgetPathParameters(true)
と同等です。- 戻り値:
- パラメーター名と値の変更不可能なマップ。
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。- 関連事項:
Path
,PathParam
getPathParameters
MultivaluedMap<StringSE,StringSE> getPathParameters(boolean decode)
埋め込まれた URI テンプレートパラメーターの値を取得します。- パラメーター:
decode
- エスケープされたオクテットのシーケンスがデコードされるか(true
)、デコードされないか(false
)を制御します。- 戻り値:
- パラメーター名と値の変更不可能なマップ
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。- 関連事項:
Path
,PathParam
getQueryParameters
MultivaluedMap<StringSE,StringSE> getQueryParameters()
現在のリクエストの URI クエリパラメーターを取得します。マップキーは、エスケープ文字がデコードされたクエリパラメーターの名前です。パラメーター名と値のエスケープされたオクテットのすべてのシーケンスがデコードされます。これはgetQueryParameters(true)
と同等です。- 戻り値:
- クエリパラメーターの名前と値の変更不可能なマップ。
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。
getQueryParameters
MultivaluedMap<StringSE,StringSE> getQueryParameters(boolean decode)
現在のリクエストの URI クエリパラメーターを取得します。マップキーは、エスケープ文字がデコードされたクエリパラメーターの名前です。- パラメーター:
decode
- パラメーター名と値のエスケープされたオクテットのシーケンスをデコードするか(true
)、デコードしないか(false
)を制御します。- 戻り値:
- クエリパラメーターの名前と値の変更不可能なマップ。
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。
getMatchedURIs
ListSE<StringSE> getMatchedURIs()
一致したリソースの URI の読み取り専用リストを取得します。各エントリは、リソースクラス、サブリソースメソッド、サブリソースロケーターに一致する相対 URI です。エスケープされたオクテットのすべてのシーケンスがデコードされます。これはgetMatchedURIs(true)
と同等です。エントリにはクエリパラメーターは含まれませんが、リクエスト URI に存在する場合はマトリックスパラメーターが含まれます。エントリは、現在のリソース URI を最初に、逆リクエスト URI の一致順序で並べられます。例: 次のリソースクラスが与えられます。@Path("foo") public class FooResource { @GET public String getFoo() {...} @Path("bar") public BarResource getBarResource() {...} } public class BarResource { @GET public String getBar() {...} }
リクエスト uri に基づいてこのメソッドによって返される値と、メソッドの呼び出し元は次のとおりです。
リクエストのマッチングの前にメソッドが呼び出された場合(たとえば、事前マッチングフィルターから)、メソッドは空のリストを返します。リクエストからの一致した URI リクエスト から呼び出された 値 /foo を入手 FooResource.getFoo foo /foo/bar を入手 FooResource.getBarResource foo/bar、foo /foo/bar を入手 BarResource.getBar foo/bar、foo - 戻り値:
- 一致したリソースの URI パスの読み取り専用リスト。
getMatchedURIs
ListSE<StringSE> getMatchedURIs(boolean decode)
一致したリソースの URI の読み取り専用リストを取得します。各エントリは、リソースクラス、サブリソースメソッド、サブリソースロケーターに一致する相対 URI です。エントリにはクエリパラメーターは含まれませんが、リクエスト URI に存在する場合はマトリックスパラメーターが含まれます。エントリは、現在のリソース URI を最初に、逆リクエスト URI の一致順序で並べられます。例については、getMatchedURIs()
を参照してください。リクエストのマッチングの前にメソッドが呼び出された場合(たとえば、事前マッチングフィルターから)、メソッドは空のリストを返します。- パラメーター:
decode
- エスケープされたオクテットのシーケンスがデコードされるか(true
)、デコードされないか(false
)を制御します。- 戻り値:
- 一致したリソースの URI パスの読み取り専用リスト。
getMatchedResources
ListSE<ObjectSE> getMatchedResources()
現在一致しているリソースクラスインスタンスの読み取り専用リストを取得します。各エントリは、直接、またはサブリソースメソッドまたはサブリソースロケーターを介してリクエスト URI に一致したリソースクラスインスタンスです。エントリは、現在のリソースを最初にして、逆リクエスト URI の一致順序に従って順序付けられます。例: 次のリソースクラスが与えられます。@Path("foo") public class FooResource { @GET public String getFoo() {...} @Path("bar") public BarResource getBarResource() {...} } public class BarResource { @GET public String getBar() {...} }
リクエスト uri に基づいてこのメソッドによって返される値と、メソッドの呼び出し元は次のとおりです。
リクエストのマッチングの前にメソッドが呼び出された場合(たとえば、事前マッチングフィルターから)、メソッドは空のリストを返します。リクエストからの一致したリソース リクエスト から呼び出された 値 /foo を入手 FooResource.getFoo FooResource /foo/bar を入手 FooResource.getBarResource FooResource /foo/bar を入手 BarResource.getBar BarResource, FooResource - 戻り値:
- 一致したリソースクラスインスタンスの読み取り専用リスト。
resolve
URISE resolve(URISE uri)
アプリケーションのベース URI に関して相対 URI を解決します。このメソッドによって返される解決された URI は正規化されます。指定された URI がすでに解決されている場合は、それが返されます。- パラメーター:
uri
- アプリケーションのベース URI に対して解決する URI。- 戻り値:
- 新しく解決された URI、またはすでに解決されている場合は提供された URI。
- 導入:
- 2.0
relativize
URISE relativize(URISE uri)
現在のリクエスト URI を基準にして URI を相対化します。相対化は次のように機能します。- 相対化する URI がすでに相対的である場合、最初に
resolve(java.net.URI)
を使用して解決されます。 - 結果の URI は、現在のリクエスト URI に関して相対化されます。2 つの URI がプレフィックスを共有していない場合、手順 1 で計算された URI が返されます。
例(ベース URI
http://example.com:8080/app/root/
の場合):
リクエスト URI :http://example.com:8080/app/root/a/b/c/resource.html
提供された URI :a/b/c/d/file.txt
返された URI :d/file.txt
リクエスト URI :http://example.com:8080/app/root/a/b/c/resource.html
提供された URI :http://example2.com:9090/app2/root2/a/d/file.txt
返された URI :http://example2.com:9090/app2/root2/a/d/file.txt
2 番目の例では、指定された URI が絶対的であり、それとリクエスト URI の間に共通のプレフィックスがない場合に返されます。
- パラメーター:
uri
- リクエスト URI に対して相対化する URI。- 戻り値:
- 新しく相対化された URI。
- 例外:
IllegalStateExceptionSE
- リクエストの範囲外で呼び出された場合。- 導入:
- 2.0
- 相対化する URI がすでに相対的である場合、最初に