首页 > 解决方案 > 无法解决参考 Bigdecimal。但我添加了 ExtendedScalars

问题描述

我在使用 netflix dgs 时遇到了一些问题。

我添加了一些类型 ExtendsScalar

@DgsComponent
class ScalarExtendRegistration {
    @DgsRuntimeWiring
    fun addScalar(builder: RuntimeWiring.Builder): RuntimeWiring.Builder {
        return builder.scalar(ExtendedScalars.Date)
                      .scalar(ExtendedScalars.DateTime)
                      .scalar(ExtendedScalars.GraphQLLong)
                      .scalar(ExtendedScalars.GraphQLBigDecimal)
    }
}

日期、日期时间、GraphpQLLong.. 生成良好。

但是 GraphQLBigDecimal .. 我签入了这个生成的代码 - 未解决的参考:BigDecimal。因为它不是自动导入的。

  @JsonProperty("id")
  public val id: Long? = null,
  @JsonProperty("insertedAt")
  public val insertedAt: LocalDate? = null,
  @JsonProperty("updatedAt")
  public val updatedAt: LocalDate? = null,
  @JsonProperty("secret")
  public val secret: String? = null,
  @JsonProperty("name")
  public val name: String? = null,
  @JsonProperty("nickName")
  public val nickName: String? = null,
  @JsonProperty("address")
  public val address: String? = null,
  @JsonProperty("money")
  public val money: BigDecimal? = null
) {
  public companion object
}

这是我的 netflixe dgs 依赖版本

Gradle: com.netflix.graphql.dgs.codegen:graphql-dgs-codegen-client-core:5.0.6
Gradle: com.netflix.graphql.dgs:graphql-dgs:4.7.3
Gradle: com.netflix.graphql.dgs:graphql-dgs-client:4.7.3
Gradle: com.netflix.graphql.dgs:graphql-dgs-extended-scalars:4.7.3
Gradle: com.netflix.graphql.dgs:graphql-dgs-mocking:4.7.3
Gradle: com.netflix.graphql.dgs:graphql-dgs-spring-boot-oss-autoconfigure:4.7.3
Gradle: com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter:4.7.3
Gradle: com.netflix.graphql.dgs:graphql-dgs-spring-webmvc:4.7.3
Gradle: com.netflix.graphql.dgs:graphql-dgs-spring-webmvc-autoconfigure:4.7.3
Gradle: com.netflix.graphql.dgs:graphql-error-types:4.7.3

我想知道为什么 BigDecimal 不会自动导入。

标签: kotlinnetflix-dgs

解决方案


将此添加到您的 gradle 文件中,它将起作用

generateJava{
    typeMapping = ["BigDecimal":"java.math.BigDecimal"]
}

推荐阅读