![](/img/trans.png)
[英]How to use Netflix DGS graphql-dgs-extended-scalars JSON scalar (java/spring-boot, maven)?
[英]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.