Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.此内容没有您所选择的语言版本。
48.2. Building the Client Target
Overview 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
After creating the initial
Client
instance, the next step is to build up the request URI. The WebTarget
builder class enables you to configure all aspects of the URI, including the URI path and query parameters.
WebTarget builder class 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
The
javax.ws.rs.client.WebTarget
builder class provides the part of the fluent API that enables you to build up the REST URI for the request.
Create the client target 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
To create a
WebTarget
instance, invoke one of the target
methods on a javax.ws.rs.client.Client
instance. For example:
// Java import javax.ws.rs.client.WebTarget; ... WebTarget base = client.target("http://example.org/bookstore/");
// Java
import javax.ws.rs.client.WebTarget;
...
WebTarget base = client.target("http://example.org/bookstore/");
Base path and path segments 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
You can specify the complete path all in one go, using the
target
method; or you can specify a base path, and then add path segments piece by piece, using a combination of the target
method and the path
methods. The advantage of combining a base path with path segments is that you can easily re-use the base path WebTarget
object for multiple invocations on slightly different targets. For example:
URI template parameters 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
The syntax of the target path also supports URI template parameters. That is, a path segment can be initialized with a template parameter,
{param}
, which subsequently gets resolved to a specify value. For example:
Where the
resolveTemplate
method replaces the path segment, {id}
, with the value 123
.
Define query parameters 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Query parameters can be appended to the URI path, where the beginning of the query parameters is marked by a single
?
character. This mechanism enables you to set a series of name/value pairs, using the syntax: ?name1=value1&name2=value2&...
A
WebTarget
instance enables you to define query parameters using the queryParam
method, as follows:
// Java WebTarget target = client.target("http://example.org/bookstore/") .queryParam("userId","Agamemnon") .queryParam("lang","gr");
// Java
WebTarget target = client.target("http://example.org/bookstore/")
.queryParam("userId","Agamemnon")
.queryParam("lang","gr");
Define matrix parameters 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Matrix parameters are somewhat similar to query parameters, but are not as widely supported and use a different syntax. To define a matrix parameter on a
WebTarget
instance, invoke the matrixParam(String, Object)
method.