- java.lang.Object
-
- jdk.incubator.http.HttpRequest.Builder
-
- Enclosing class:
- HttpRequest
public abstract static class HttpRequest.Builder extends Object
一个建筑师HttpRequests。
Incubating Feature.将在以后的版本中删除。HttpRequest.Builder是通过调用HttpRequest.newBuilder(URI)或HttpRequest.newBuilder()创建的。每一个在这个类中的setter方法修改生成器的状态并返回此 (即相同的实例)。 方法不同步,不应该从多个线程调用而不需要外部同步。
请注意,并非所有请求标头都可能由用户代码设置。 有些是为了安全原因而受到限制,而其他诸如与身份验证,重定向和cookie管理相关的标题由特定的API管理,而不是通过直接的用户设置头。
build方法在每次调用时都会返回一个新的
HttpRequest。- 从以下版本开始:
- 9
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protectedBuilder()创建一个生成器。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 abstract HttpRequestbuild()构建并返回一个HttpRequest。abstract HttpRequest.Buildercopy()基于当前状态返回此Builder的精确副本。abstract HttpRequest.BuilderDELETE(HttpRequest.BodyProcessor body)将此构建器的请求方法设置为DELETE,并将其请求体处理器设置为给定值。abstract HttpRequest.BuilderexpectContinue(boolean enable)在发送请求正文之前请求服务器确认请求。abstract HttpRequest.BuilderGET()将此构建器的请求方法设置为GET。abstract HttpRequest.Builderheader(String name, String value)将给定的名称值对添加到此请求的头文件集中。abstract HttpRequest.Builderheaders(String... headers)将给定的名称值对添加到此请求的标题集。abstract HttpRequest.Buildermethod(String method, HttpRequest.BodyProcessor body)将此构建器的请求方法和请求体设置为给定值。abstract HttpRequest.BuilderPOST(HttpRequest.BodyProcessor body)将此构建器的请求方法设置为POST,并将其请求体处理器设置为给定值。abstract HttpRequest.BuilderPUT(HttpRequest.BodyProcessor body)将此构建器的请求方法设置为PUT,并将其请求体处理器设置为给定值。abstract HttpRequest.BuildersetHeader(String name, String value)将给定的名称值对设置为此请求的标题集。abstract HttpRequest.Buildertimeout(Duration duration)设置此请求的超时。abstract HttpRequest.Builderuri(URI uri)设置HttpRequest的请求URI。abstract HttpRequest.Builderversion(HttpClient.Version version)设置此请求的首选HttpClient.Version。
-
-
-
方法详细信息
-
uri
public abstract HttpRequest.Builder uri(URI uri)
设置HttpRequest的请求URI。- 参数
-
uri- 请求URI - 结果
- 这个请求生成器
- 异常
-
IllegalArgumentException- 如果不支持URI方案。
-
expectContinue
public abstract HttpRequest.Builder expectContinue(boolean enable)
在发送请求正文之前请求服务器确认请求。 默认情况下禁用此功能。 如果启用,则请求服务器在客户端发送请求正文之前发送错误响应或100 Continue响应。 这意味着在接收到该临时响应之前,请求的请求处理器将不被调用。- 参数
-
enable-true如果Expect继续发送 - 结果
- 这个请求生成器
-
version
public abstract HttpRequest.Builder version(HttpClient.Version version)
- 参数
-
version- 请求的HTTP协议版本 - 结果
- 这个请求生成器
-
header
public abstract HttpRequest.Builder header(String name, String value)
将给定的名称值对添加到此请求的头文件集中。- 参数
-
name- 标题名称 -
value- 标头值 - 结果
- 这个请求生成器
-
headers
public abstract HttpRequest.Builder headers(String... headers)
将给定的名称值对添加到此请求的标题集。 所提供的String必须作为名称和值交替。- 参数
-
headers- 字符串名称值对的列表 - 结果
- 这个请求生成器
- 异常
-
IllegalArgumentException- 如果有奇数个参数
-
timeout
public abstract HttpRequest.Builder timeout(Duration duration)
设置此请求的超时。 如果响应未在指定的超时然后一个内接收HttpTimeoutException从抛出HttpClient::send或HttpClient::sendAsync完成异常与HttpTimeoutException。 不设置超时的效果与设置无限持续时间相同,即。 阻挡永远- 参数
-
duration- 超时时间 - 结果
- 这个请求生成器
-
setHeader
public abstract HttpRequest.Builder setHeader(String name, String value)
将给定的名称值对设置为此请求的标题集。 这将覆盖任何以前设置的名称值。- 参数
-
name- 标题名称 -
value- 标头值 - 结果
- 这个请求生成器
-
GET
public abstract HttpRequest.Builder GET()
将此构建器的请求方法设置为GET。- 结果
-
一个
HttpRequest
-
POST
public abstract HttpRequest.Builder POST(HttpRequest.BodyProcessor body)
将此构建器的请求方法设置为POST,并将其请求体处理器设置为给定值。- 参数
-
body- 身体处理器 - 结果
-
一个
HttpRequest
-
PUT
public abstract HttpRequest.Builder PUT(HttpRequest.BodyProcessor body)
将此构建器的请求方法设置为PUT,并将其请求体处理器设置为给定值。- 参数
-
body- 身体处理器 - 结果
-
一个
HttpRequest
-
DELETE
public abstract HttpRequest.Builder DELETE(HttpRequest.BodyProcessor body)
将此构建器的请求方法设置为DELETE,并将其请求体处理器设置为给定值。- 参数
-
body- 身体处理器 - 结果
-
一个
HttpRequest
-
method
public abstract HttpRequest.Builder method(String method, HttpRequest.BodyProcessor body)
将此构建器的请求方法和请求体设置为给定值。- 参数
-
body- 身体处理器 -
method- 使用的方法 - 结果
-
一个
HttpRequest - 异常
-
IllegalArgumentException- 如果使用无法识别的方法
-
build
public abstract HttpRequest build()
构建并返回一个HttpRequest。- 结果
- 请求
-
copy
public abstract HttpRequest.Builder copy()
根据当前状态返回此Builder的精确副本。 然后可以独立于此构建器修改新构建器。- 结果
- 这个Builder的精确副本
-
-