Generate `LocalTime` from OpenAPI specification

Viewed 1615

I see that there is a date format for strings in OpenAPI, and that by using dateLibrary=java8 we can generate LocalDate fields by using openapi-generator.

But is there any way of producing LocalTime fields? There is no time format in OpenAPI and the date-time one produces OffsetDateTime.

EDIT: It's hard offering a reproducible example since the question is about something I can't do, but some illustrative example would be that I want something along the lines of:

A schema specification:

Visit:
  type: object
  parameters:
    visitor:
      type: string
    timeOfVisit:
      type: string
      format: time

But obviously the time format is not present in the OpenAPI specification. The generated code should be something like

public class Visit {
  private String visitor;
  private LocalTime timeOfVisit;

  // Getters, setters, etc
}

There must surely be some way for openapi-generator to produce this output, isn't it? I've found that there are some import-mappings that map LocalTime to org.joda.time.* so there seems to be a way of having it produce LocalTime types, but I haven't found it

1 Answers

Solved it! Actually it was really easy, but being a beginner in OpenAPI it was hard finding a solution.Given the example in my question, I'd just have to run openapi-generator-cli as

openapi-generator-cli generate -g java --type-mappings time=LocalTime

And voilĂ , it's done!

EDIT: But this doesn't use java.time.LocalTime as a type because of the previously (in the question) mentioned import-mappings, so the definitive command would be:

openapi-generator-cli generate -g java --type-mappings time=LocalTime --import-mappings LocalTime=java.time.LocalTime
Related