簡體   English   中英

GraphQL netflix-dgs codegen generateJava 不必要地導入 java.util

[英]GraphQL netflix-dgs codegen generateJava imports java.util unnecessarily

我將以下類型和枚舉添加到我的架構中。graphql

enum Currency {
    USD
    EUR
    GBP
    AUD
    CAD
    ILS
    HKD
    SEK
    NZD
    SGD
    CHF
    ZAR
    BRL
    CNY
    INR
    MYR
    MXN
    PKR
    PHP
    TWD
    THB
    TRY
    AED
}

type Money {
    amount: Int!
    currency: Currency!
}

然后運行 generateJava。 結果如下

package com.fiverr.apps.financial_analytics_kimera.generated.graphql.types

import com.fasterxml.jackson.`annotation`.JsonProperty
import java.util.Currency
import kotlin.Int

public data class Money(
  @JsonProperty("amount")
  public val amount: Int,
  @JsonProperty("currency")
  public val currency: Currency
) {
  public companion object
}

所以基本上這里有一個不必要的import java.util.currency破壞了我的代碼,因為我希望我的代碼使用枚舉貨幣而不是 java.util.currency

我該怎么做才能刪除 make generateJava not import Currency from utils? 謝謝

顯然在 Netflix DGS 插件中,我可以為 Scalars 配置類型表示

來自build.gradle.kts的示例

val string = String::class.qualifiedName!!
val long = Long::class.qualifiedName!!
val double = Double::class.qualifiedName!!
tasks.withType<GenerateJavaTask> {
    packageName = "com.fiverr.apps.sellers_phoenix.graphql.generated"
    typeMapping = mutableMapOf(
        "MoneyAmount" to double,
        "Timestamp" to long,
        "URI" to string,
        "BigInt" to long,
        "PageInfo" to "com.fiverr.apps.sellers_phoenix.api.graphql.model.PageInfo"
    )
    generateClient = true
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM