【发布时间】:2021-12-23 01:43:44
【问题描述】:
我遇到了我想使用 graphql-dgs-extended-scalars 的问题,特别是 JSON 标量,但找不到关于如何使用的清晰教程。我确定他们在那里,但以防万一有人发现自己处于与我相同的情况,希望我下面的简单解释可以为他们节省一些时间。
【问题讨论】:
标签: java spring-boot maven graphql netflix-dgs
我遇到了我想使用 graphql-dgs-extended-scalars 的问题,特别是 JSON 标量,但找不到关于如何使用的清晰教程。我确定他们在那里,但以防万一有人发现自己处于与我相同的情况,希望我下面的简单解释可以为他们节省一些时间。
【问题讨论】:
标签: java spring-boot maven graphql netflix-dgs
在 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
在架构中
...
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 中的大多数(全部?)其他标量。
【讨论】: