🚅 请求头
一个HTTP请求由请求行、请求头、请求体三部分组成。其中,请求头是HTTP请求的重要组成部分,经常用于传递和服务端通讯的控制参数、数据格式、请求编码等重要信息。
请求头由零到多个头属性构成,而一个头属性通常是一个键值对。
ForestRequest 对象提供了添加和修改请求头的方法
addHeader(String name, Object value)
添加请求头
参数
name
: 请求头名称参数
value
: 请求头的值
// addHeader方法第一个参数为头属性名称,第二个参数为头属性的值
// 添加头属性 Content-Type,值为 application/json
request.addHeader("Content-Type", "application/json");
1
2
3
2
3
一个请求可以添加多个头属性
request.addHeader("Accept", "text/plain") // 添加第一个头属性
.addHeader("Content-Type", "application/json") // 添加第二个头属性
.addHeader("AccessToken", "foobar"); // 添加第三个头属性
// 最终请求包含以下头属性:
// Accept: text/plain
// Content-Type: application/json
// AccessToken: foobar
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
修改和覆盖一个已存在的头属性
request.addHeader("User-Agent", "httpclient") // 添加第一个头属性
.addHeader("User-Agent", "forest"); // 覆盖第一个头属性
// 最终请求包含以下头属性:
// User-Agent: forest
1
2
3
4
2
3
4
获取请求头
header(String name)
根据请求头名称获取请求头
- 参数
name
: 请求头名称- 返回值: 请求头,ForestHeader 类实例
headers()
获取所有请求头
- 返回值: 请求头表, ForestHeaderMap 类实例
// 创建新的请求对象
// url: http://localhost/test
ForestRequest<?> request = Forest.get("/")
.addHeader("Accept", "text/plain") // 添加第一个头属性
.addHeader("Content-Type", "application/json") // 添加第二个头属性
// 通过 header 方法可以根据头属性名获取请求头对象
// 并返回 ForestHeader 类的对象
ForestHeader header1 = request.header("Accept"); // 获取头属性 Accept
ForestHeader header2 = request.header("Content-Type"); // 获取头属性 Content-Type
// 通过 headers 方法可以获取该请求的所有请求头信息
// 并返回 ForestHeaderMap 类对象
ForestHeaderMap headerMap = request.headers(); // 获取请求的所有请求头
// 通过 headerValue 方法可以根据头属性名获取请求头的属性值
// 并返回属性值字符串
String headerValue1 = request.headerValue("Accept"); // 获取头属性 Accept 的属性值
String headerValue2 = request.headerValue("Content-Type"); // 获取头属性 Accept 的属性值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 特殊请求头
Forest为一些特殊头属性定义专有的方法,不用在 addHeader 方法中传入头属性名了,比如: Content-Type
contentType(String contentType)
设置请求头 Content-Type 的值
- 参数
contentType
: 请求头 Content-Type 的值
// 设置头属性 Content-Type 的值为 application/json
request.contentType("application/json");
1
2
2
Forest也为 Content-Type
常用属性值的设置提供了快捷方法
// 设置头属性 Content-Type: application/x-www-form-urlencoded
request.contentFormUrlEncoded();
// 设置头属性 Content-Type: application/json
request.contentTypeJson();
// 设置头属性 Content-Type: application/xml
request.contentTypeXml();
// 设置头属性 Content-Type: multipart/form-data
request.contentTypeMultipartFormData();
// 设置头属性 Content-Type: application/octet-stream
request.contentTypeOctetStream();
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
帮助我们改善此文档 (opens new window)
上次更新: 2023/06/19, 17:37:19