Добавить аннотацию lombok (или любую) к классу, созданному swagger - PullRequest
2 голосов
/ 19 октября 2019

Я очистил Интернет, но не нашел ничего, что могло бы решить эту проблему. Можно ли добавить аннотации lombok в класс swagger UPON поколения?

У меня есть схема swagger:

Product:
type: "object"
required:
  - idSeller
  - model
  - name
  - description
  - price
properties:
  id:
    type: string
  idSeller:
    type: string
  model:
    type: string
  name:
    type: string
  description:
    type: string
  price:
    type: number
    format: currency
    minimum: 0.01

Который сгенерировал этот код:

@Validated
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2019-10-18T20:36:31.834-03:00")

public class Product   {
    @JsonProperty("id")
    private String id = null;

    @JsonProperty("idSeller")
    private String idSeller = null;

    //rest of the code ommited
} 

Но мне нужно, чтобы он сгенерировал:

@Validated
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2019-10-18T20:36:31.834-03:00")

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Product   {
    @JsonProperty("id")
    private String id = null;

    @JsonProperty("idSeller")
    private String idSeller = null;

    //rest of the code ommited
}

С аннотациями lombok Data, Builder, NoArgsConstructor и AllArgsConstructor.

Не могли бы вы помочь мне в этом?

1 Ответ

1 голос
/ 21 октября 2019

А как насчет

perl -pi -e 's/(?=^public class )/\@Data\n\@Builder\n\@NoArgsConstructor\n\@AllArgsConstructor\n/' *.java

? Полагаю, это не то, что вы ожидали, но вы можете интегрировать его в процесс сборки и получить временное решение.

На самом деле вам также понадобится импорт, но это не менее просто.

...