首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DGS框架:如何向数据获取程序提供附加数据?

DGS框架:如何向数据获取程序提供附加数据?
EN

Stack Overflow用户
提问于 2022-10-08 14:07:52
回答 1查看 93关注 0票数 0

我有一个例子DgsQuery:

代码语言:javascript
复制
@DgsQuery
public List<Sensor> sensors(DgsDataFetchingEnvironment dfe) {
     
    SensorType sensorType = SensorType.newBuilder()
            .id(UUID.randomUUID().toString())
            .build();
    

    Sensor sensor = new Sensor();
    sensor.setId(UUID.randomUUID().toString());
    sensor.setName("foo");
    sensor.setSensorType(sensorType);

    return Arrays.asList(sensor);
}

和一个数据采集器:

代码语言:javascript
复制
@DgsData(parentType = DgsConstants.SENSOR.TYPE_NAME, field = DgsConstants.SENSOR.SensorType)
public CompletableFuture<SensorType> sensorType(DgsDataFetchingEnvironment dfe) {
    Sensor sensor = dfe.getSource();
    UUID sensorTypeId = UUID.fromString(sensor.getSensorType().getId());

    // fetch sensorType by ID from DB, map to generated class and return
    LOGGER.info("Would now fetch sensorType with ID {} via RPC or whatever you want ;)", sensorTypeId);

    return null;
}

在dataFetcher中,我需要能够访问一些在@DgsQuery方法中初始化的额外数据/对象。我该怎么做?

示例应用程序:

在@DgsQuery中,有一个已经从数据库加载的实体,我需要将这个实体传递给数据获取器。

目前,我只能通过

代码语言:javascript
复制
    Sensor sensor = dfe.getSource();

但一些可能已经载入的进一步数据都没有。

EN

回答 1

Stack Overflow用户

发布于 2022-10-08 15:11:00

发现了:

代码语言:javascript
复制
@DgsQuery
public DataFetcherResult<List<Sensor>> sensors(DgsDataFetchingEnvironment dfe) {

    SensorType sensorType = SensorType.newBuilder()
            .id(UUID.randomUUID().toString())
            .build();

    Sensor sensor = new Sensor();
    sensor.setId(UUID.randomUUID().toString());
    sensor.setName("foo");
    sensor.setSensorType(sensorType);

    return DataFetcherResult.<List<Sensor>>newResult()
            .data(Arrays.asList(sensor))
            .localContext("foo")
            .build();
}

在数据获取器中:

代码语言:javascript
复制
Object localContext = dfe.getLocalContext(); ( --> "foo")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73997652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档