簡體   English   中英

用於可選字段的 Avro maven 插件

[英]Avro maven plugin for optional fields

我正在使用 Avro maven 插件來處理一些 Avro 文件並生成 Java 類。 我的目標是通過聲明類型 null 來告訴插件在字段接受 null 值時生成可選 getter。 例如:

{
  "namespace": "br.com.gruposaga.core.event",
  "type": "record",
  "name": "UserEvent",
  "fields": [
    {
      "name": "id",
      "type": "int"
    },
    {
      "name": "name",
      "type": "string"
    },
    {
      "name": "email",
      "type": [
        "null",
        "string"
      ],
      "default": null
    }
  ]
}

因此,在上面提到的定義中,插件應該為 id 和 name 生成默認的 getter。 但是對於電子郵件,可以是 null,我希望插件只生成可選的 getter。 我在插件中嘗試了 gettersReturnOptional 和 createOptionalGetters 配置,但它們都沒有做到這一點。 那么,怎么做呢?

我設法通過自定義 record.vm 速度模板來獲得這種行為。 更換

#if (${this.gettersReturnOptional})

#if ($field.schema().isNullable())

成功了。

暫無
暫無

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

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