- java.lang.Object
-
- jdk.incubator.http.HttpRequest.Builder
-
- Enclosing class:
- HttpRequest
public abstract static class HttpRequest.Builder extends Object
一个建筑师HttpRequest
s。
Incubating Feature.将在以后的版本中删除。HttpRequest.Builder
是通过调用HttpRequest.newBuilder(URI)
或HttpRequest.newBuilder()
创建的。每一个在这个类中的setter方法修改生成器的状态并返回此 (即相同的实例)。 方法不同步,不应该从多个线程调用而不需要外部同步。
请注意,并非所有请求标头都可能由用户代码设置。 有些是为了安全原因而受到限制,而其他诸如与身份验证,重定向和cookie管理相关的标题由特定的API管理,而不是通过直接的用户设置头。
build方法在每次调用时都会返回一个新的
HttpRequest
。- 从以下版本开始:
- 9
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
Builder()
创建一个生成器。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 abstract HttpRequest
build()
构建并返回一个HttpRequest
。abstract HttpRequest.Builder
copy()
基于当前状态返回此Builder
的精确副本。abstract HttpRequest.Builder
DELETE(HttpRequest.BodyProcessor body)
将此构建器的请求方法设置为DELETE,并将其请求体处理器设置为给定值。abstract HttpRequest.Builder
expectContinue(boolean enable)
在发送请求正文之前请求服务器确认请求。abstract HttpRequest.Builder
GET()
将此构建器的请求方法设置为GET。abstract HttpRequest.Builder
header(String name, String value)
将给定的名称值对添加到此请求的头文件集中。abstract HttpRequest.Builder
headers(String... headers)
将给定的名称值对添加到此请求的标题集。abstract HttpRequest.Builder
method(String method, HttpRequest.BodyProcessor body)
将此构建器的请求方法和请求体设置为给定值。abstract HttpRequest.Builder
POST(HttpRequest.BodyProcessor body)
将此构建器的请求方法设置为POST,并将其请求体处理器设置为给定值。abstract HttpRequest.Builder
PUT(HttpRequest.BodyProcessor body)
将此构建器的请求方法设置为PUT,并将其请求体处理器设置为给定值。abstract HttpRequest.Builder
setHeader(String name, String value)
将给定的名称值对设置为此请求的标题集。abstract HttpRequest.Builder
timeout(Duration duration)
设置此请求的超时。abstract HttpRequest.Builder
uri(URI uri)
设置HttpRequest
的请求URI
。abstract HttpRequest.Builder
version(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的精确副本
-
-