我遇到了一个问题,我想使用graphql-dgs-extended-scalars,特别是 JSON 标量,但是很难找到关于如何做到这一点的清晰教程。我确定他们在那里,但以防万一有人发现自己处于与我相同的情况,希望我下面的简单解释将为他们节省一些时间。
问问题
417 次
1 回答
0
安装
在 pom 文件中(特定于 Maven)
<dependency>
<groupId>com.netflix.graphql.dgs</groupId>
<artifactId>graphql-dgs-extended-scalars</artifactId>
<version>${netflix.graphql.dgs.version}</version>
</dependency>
在配置文件中(例如,application.yml)
dgs:
graphql:
extensions:
scalars:
objects:
enabled: true
使用标量(在本例中为 JSON)
在架构中
...
type SomeType {
thing: JSON!
}
...
input SomeTypeInput {
thing: JSON!
}
...
scalar JSON
在将用作数据提取器输入的类中
public class SomethingDTO
{
/**
* This does not have to be a Map, you could use another
* reasonable object like JSONObject, etc.
*/
public Map<String, Object> thing;
}
然后,您可以在任意形状的查询中将 json 格式的对象作为参数传入。
这仅适用于 JSON 标量,但大多数(全部?)在 lib 中找到的其他标量都遵循该模式。
于 2021-11-10T12:53:02.447 回答