Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
带水的鱼儿
spring-framework
提交
e290ae28
S
spring-framework
项目概览
带水的鱼儿
/
spring-framework
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e290ae28
编写于
7月 30, 2021
作者:
A
Alexej Timonin
提交者:
Rossen Stoyanchev
8月 04, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Improve Javadoc for ClientRequest#from
See gh-27220
上级
8670b1c3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
4 deletion
+37
-4
spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientRequest.java
...framework/web/reactive/function/client/ClientRequest.java
+3
-3
spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilderTests.java
...ive/function/client/DefaultClientRequestBuilderTests.java
+34
-1
未找到文件。
spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientRequest.java
浏览文件 @
e290ae28
/*
* Copyright 2002-20
19
the original author or authors.
* Copyright 2002-20
21
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -125,8 +125,8 @@ public interface ClientRequest {
// Static builder methods
/**
* Create a builder with the method, URI, headers,
and cookies
of the given request.
* @param other the request to copy the method, URI, headers,
and cookies
from
* Create a builder with the method, URI, headers,
cookies, attributes, and body
of the given request.
* @param other the request to copy the method, URI, headers,
cookies, attributes, and body
from
* @return the created builder
*/
static
Builder
from
(
ClientRequest
other
)
{
...
...
spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestBuilderTests.java
浏览文件 @
e290ae28
/*
* Copyright 2002-202
0
the original author or authors.
* Copyright 2002-202
1
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -56,6 +56,8 @@ public class DefaultClientRequestBuilderTests {
ClientRequest
other
=
ClientRequest
.
create
(
GET
,
URI
.
create
(
"https://example.com"
))
.
header
(
"foo"
,
"bar"
)
.
cookie
(
"baz"
,
"qux"
)
.
attribute
(
"attributeKey"
,
"attributeValue"
)
.
attribute
(
"anotherAttributeKey"
,
"anotherAttributeValue"
)
.
httpRequest
(
request
->
{})
.
build
();
ClientRequest
result
=
ClientRequest
.
from
(
other
)
...
...
@@ -69,6 +71,37 @@ public class DefaultClientRequestBuilderTests {
assertThat
(
result
.
cookies
().
size
()).
isEqualTo
(
1
);
assertThat
(
result
.
cookies
().
getFirst
(
"baz"
)).
isEqualTo
(
"quux"
);
assertThat
(
result
.
httpRequest
()).
isNotNull
();
assertThat
(
result
.
attributes
().
get
(
"attributeKey"
)).
isEqualTo
(
"attributeValue"
);
assertThat
(
result
.
attributes
().
get
(
"anotherAttributeKey"
)).
isEqualTo
(
"anotherAttributeValue"
);
}
@Test
public
void
fromCopiesBody
()
{
String
body
=
"foo"
;
BodyInserter
<
String
,
ClientHttpRequest
>
inserter
=
(
response
,
strategies
)
->
{
byte
[]
bodyBytes
=
body
.
getBytes
(
UTF_8
);
DataBuffer
buffer
=
DefaultDataBufferFactory
.
sharedInstance
.
wrap
(
bodyBytes
);
return
response
.
writeWith
(
Mono
.
just
(
buffer
));
};
ClientRequest
other
=
ClientRequest
.
create
(
POST
,
URI
.
create
(
"https://example.com"
))
.
body
(
inserter
).
build
();
ClientRequest
result
=
ClientRequest
.
from
(
other
).
build
();
List
<
HttpMessageWriter
<?>>
messageWriters
=
new
ArrayList
<>();
messageWriters
.
add
(
new
EncoderHttpMessageWriter
<>(
CharSequenceEncoder
.
allMimeTypes
()));
ExchangeStrategies
strategies
=
mock
(
ExchangeStrategies
.
class
);
given
(
strategies
.
messageWriters
()).
willReturn
(
messageWriters
);
MockClientHttpRequest
request
=
new
MockClientHttpRequest
(
POST
,
"/"
);
result
.
writeTo
(
request
,
strategies
).
block
();
String
copiedBody
=
request
.
getBodyAsString
().
block
();
assertThat
(
copiedBody
).
isEqualTo
(
"foo"
);
}
@Test
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录