Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦境迷离
Graphql Java Codegen
提交
26fa6f46
G
Graphql Java Codegen
项目概览
梦境迷离
/
Graphql Java Codegen
10 个月 前同步成功
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Graphql Java Codegen
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
26fa6f46
编写于
3月 22, 2021
作者:
B
Bogdan Kobylynskyi
提交者:
GitHub
3月 22, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add operation name to serialized GraphQL query #590 (#604)
上级
25ef1740
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
26 deletion
+34
-26
src/main/java/com/kobylynskyi/graphql/codegen/model/graphql/GraphQLRequestSerializer.java
...aphql/codegen/model/graphql/GraphQLRequestSerializer.java
+19
-12
src/test/java/com/kobylynskyi/graphql/codegen/model/graphql/GraphQLRequestSerializerTest.java
...l/codegen/model/graphql/GraphQLRequestSerializerTest.java
+15
-14
未找到文件。
src/main/java/com/kobylynskyi/graphql/codegen/model/graphql/GraphQLRequestSerializer.java
浏览文件 @
26fa6f46
...
...
@@ -34,19 +34,23 @@ public class GraphQLRequestSerializer {
if
(
graphQLRequests
.
getRequests
().
isEmpty
())
{
throw
new
IllegalArgumentException
(
"At least one GraphQL request should be supplied"
);
}
GraphQLOperation
operation
=
graphQLRequests
.
getRequests
().
get
(
0
).
getRequest
().
getOperationType
();
GraphQLOperation
Request
firstRequest
=
graphQLRequests
.
getRequests
().
get
(
0
).
getRequest
();
StringBuilder
queryBuilder
=
new
StringBuilder
();
for
(
GraphQLRequest
request
:
graphQLRequests
.
getRequests
())
{
if
(
request
==
null
||
request
.
getRequest
()
==
null
)
{
throw
new
IllegalArgumentException
(
"Null GraphQL request was supplied"
);
}
if
(
operation
!=
null
&&
operation
!=
request
.
getRequest
().
getOperationType
())
{
if
(
firstRequest
.
getOperationType
()
!=
null
&&
firstRequest
.
getOperationType
()
!=
request
.
getRequest
().
getOperationType
())
{
throw
new
IllegalArgumentException
(
"Only operations of the same type (query/mutation/subscription) can be executed at once"
);
}
queryBuilder
.
append
(
buildQuery
(
request
)).
append
(
" "
);
}
return
jsonQuery
(
operationWrapper
(
queryBuilder
.
toString
(),
operation
));
return
jsonQuery
(
operationWrapper
(
firstRequest
.
getOperationType
(),
null
,
// combined request does not have operation name
queryBuilder
.
toString
()));
}
/**
...
...
@@ -60,10 +64,7 @@ public class GraphQLRequestSerializer {
if
(
graphQLRequest
==
null
||
graphQLRequest
.
getRequest
()
==
null
)
{
return
null
;
}
GraphQLOperation
operationType
=
graphQLRequest
.
getRequest
().
getOperationType
();
String
query
=
buildQuery
(
graphQLRequest
);
String
queryString
=
operationWrapper
(
query
,
operationType
);
return
jsonQuery
(
queryString
);
return
jsonQuery
(
toQueryString
(
graphQLRequest
));
}
/**
...
...
@@ -76,14 +77,20 @@ public class GraphQLRequestSerializer {
if
(
graphQLRequest
==
null
||
graphQLRequest
.
getRequest
()
==
null
)
{
return
null
;
}
GraphQLOperation
operationType
=
graphQLRequest
.
getRequest
().
getOperationType
();
String
query
=
buildQuery
(
graphQLRequest
);
return
operationWrapper
(
query
,
operationType
);
return
operationWrapper
(
graphQLRequest
.
getRequest
().
getOperationType
(),
graphQLRequest
.
getRequest
().
getOperationName
(),
buildQuery
(
graphQLRequest
));
}
private
static
String
operationWrapper
(
String
query
,
GraphQLOperation
operationTyp
e
)
{
private
static
String
operationWrapper
(
GraphQLOperation
operationType
,
String
operationName
,
String
queryValu
e
)
{
assert
operationType
!=
null
;
return
operationType
.
name
().
toLowerCase
()
+
" { "
+
query
+
" }"
;
String
operationTypeLowerCased
=
operationType
.
name
().
toLowerCase
();
if
(
operationName
==
null
)
{
return
String
.
format
(
"%s { %s }"
,
operationTypeLowerCased
,
queryValue
);
}
else
{
return
String
.
format
(
"%s %s { %s }"
,
operationTypeLowerCased
,
operationName
,
queryValue
);
}
}
private
static
String
buildQuery
(
GraphQLRequest
graphQLRequest
)
{
...
...
src/test/java/com/kobylynskyi/graphql/codegen/model/graphql/GraphQLRequestSerializerTest.java
浏览文件 @
26fa6f46
...
...
@@ -90,7 +90,7 @@ class GraphQLRequestSerializerTest {
Function
<
String
,
String
>
expectedQueryDecorator
)
{
GraphQLRequest
graphQLRequest
=
new
GraphQLRequest
(
new
VersionQueryRequest
());
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"query { version }"
;
String
expectedQueryStr
=
"query
version
{ version }"
;
assertEquals
(
expectedQueryDecorator
.
apply
(
expectedQueryStr
),
serializedQuery
);
}
...
...
@@ -118,7 +118,7 @@ class GraphQLRequestSerializerTest {
.
status
()
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"query { "
+
String
expectedQueryStr
=
"query
eventsByCategoryAndStatus
{ "
+
"eventsByCategoryAndStatus(categoryId: \"categoryIdValue1\", status: OPEN){ "
+
"id "
+
"active "
+
...
...
@@ -155,7 +155,7 @@ class GraphQLRequestSerializerTest {
.
status
(
"myStatus"
)
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"query { "
+
String
expectedQueryStr
=
"query
eventsByCategoryAndStatus
{ "
+
"eventsByCategoryAndStatus(categoryId: \"categoryIdValue1\", status: OPEN){ "
+
"myId : id "
+
"myActive : active "
+
...
...
@@ -197,7 +197,7 @@ class GraphQLRequestSerializerTest {
.
status
()
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"query { "
+
String
expectedQueryStr
=
"query
eventsByCategoryAndStatus
{ "
+
"eventsByCategoryAndStatus(categoryId: \"categoryIdValue1\", status: OPEN){ "
+
"id "
+
"active "
+
...
...
@@ -241,7 +241,7 @@ class GraphQLRequestSerializerTest {
.
status
()
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"query { "
+
String
expectedQueryStr
=
"query
eventsByCategoryAndStatus
{ "
+
"eventsByCategoryAndStatus(categoryId: \"categoryIdValue1\", status: OPEN){ "
+
"id "
+
"active "
+
...
...
@@ -267,7 +267,7 @@ class GraphQLRequestSerializerTest {
.
activeLockReason
())
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"mutation { updateIssue(input: { "
+
String
expectedQueryStr
=
"mutation
updateIssue
{ updateIssue(input: { "
+
"floatVal: 1.23, booleanVal: false, intVal: 42, "
+
"stringVal: \"default \\\" \\\\ \\b \\f \\n \\r \\t ሴ \", "
+
"enumVal: OPEN, intList: [ 1, 2, 3 ], intListEmptyDefault: [ ] }){ "
+
...
...
@@ -289,7 +289,7 @@ class GraphQLRequestSerializerTest {
GraphQLRequest
graphQLRequest
=
new
GraphQLRequest
(
updateDateMutationRequest
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"mutation { updateDate(input: { "
+
String
expectedQueryStr
=
"mutation
updateDate
{ updateDate(input: { "
+
"dateTime: \"2020-07-31T03:17:17.884Z\" }) }"
;
assertEquals
(
expectedQueryDecorator
.
apply
(
expectedQueryStr
),
serializedQuery
);
}
...
...
@@ -306,7 +306,7 @@ class GraphQLRequestSerializerTest {
GraphQLRequest
graphQLRequest
=
new
GraphQLRequest
(
updateDateMutationRequest
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"mutation { updateDate(input: \"2020-07-31T03:17:17.884Z\") }"
;
String
expectedQueryStr
=
"mutation
updateDate
{ updateDate(input: \"2020-07-31T03:17:17.884Z\") }"
;
assertEquals
(
expectedQueryDecorator
.
apply
(
expectedQueryStr
),
serializedQuery
);
}
...
...
@@ -337,7 +337,7 @@ class GraphQLRequestSerializerTest {
.
id
())))
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"query { "
+
String
expectedQueryStr
=
"query
eventsByCategoryAndStatus
{ "
+
"eventsByCategoryAndStatus(categoryId: \"categoryIdValue1\", status: OPEN){ "
+
"properties { "
+
"child { parent (createdAfter: \"2007-01-09T09:41:00Z\") { id } } } "
+
...
...
@@ -361,7 +361,7 @@ class GraphQLRequestSerializerTest {
.
activeLockReason
())
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"mutation { updateIssue(input: { "
+
String
expectedQueryStr
=
"mutation
updateIssue
{ updateIssue(input: { "
+
"floatVal: 1.23, booleanVal: false, intVal: 42, "
+
"stringVal: \"default \\\" \\\\ \\b \\f \\n \\r \\t ሴ \", "
+
"enumVal: OPEN, intList: [ 1, 2, 3 ], intListEmptyDefault: [ \"\", \"1\", null, "
+
...
...
@@ -384,7 +384,7 @@ class GraphQLRequestSerializerTest {
.
name
())
.
typename
()));
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"mutation { updateIssue{ "
+
String
expectedQueryStr
=
"mutation
updateIssue
{ updateIssue{ "
+
"union { ...on Issue { activeLockReason } ...on Organization { name } __typename } "
+
"} }"
;
assertEquals
(
expectedQueryDecorator
.
apply
(
expectedQueryStr
),
serializedQuery
);
...
...
@@ -402,7 +402,7 @@ class GraphQLRequestSerializerTest {
.
id
()
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"query { eventsByIds(ids: [ "
+
String
expectedQueryStr
=
"query
eventsByIds
{ eventsByIds(ids: [ "
+
"\"\\\"\", "
+
"\"\\\\\", "
+
"\"\\b\", "
+
...
...
@@ -428,7 +428,8 @@ class GraphQLRequestSerializerTest {
.
id
()
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"query { eventsByIds(contextId: \"something\", translated: false){ id } }"
;
String
expectedQueryStr
=
"query eventsByIds { "
+
"eventsByIds(contextId: \"something\", translated: false){ id } }"
;
assertEquals
(
expectedQueryDecorator
.
apply
(
expectedQueryStr
),
serializedQuery
);
}
...
...
@@ -446,7 +447,7 @@ class GraphQLRequestSerializerTest {
.
id
()
);
String
serializedQuery
=
serializer
.
apply
(
graphQLRequest
).
replaceAll
(
" +"
,
" "
).
trim
();
String
expectedQueryStr
=
"query { eventsByIds{ id } }"
;
String
expectedQueryStr
=
"query
eventsByIds
{ eventsByIds{ id } }"
;
assertEquals
(
expectedQueryDecorator
.
apply
(
expectedQueryStr
),
serializedQuery
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录