Подстановка свойства модели с помощью «type»: «string» и «format»: «time» в Springfox - PullRequest
0 голосов
/ 25 января 2019

Intro

В простом и голом проекте с загрузочной пружиной у меня есть один класс модели с одним свойством типа java.time.LocalTime.
Если я запускаю проект, springfox обнаруживает LocalTime какне встроенный класс и помещает его в definitions.

{
  "ExampleDto": {
    "type": "object",
    "properties": {
      "time": {
        "$ref": "#/definitions/LocalTime"
      }
    }
  }
}

Не то, что я хочу.


То, что я на самом деле хочу

... естьиметь свойство типа string с пользовательским форматом с именем «time», например:

{
  "ExampleDto": {
    "type": "object",
    "properties": {
      "time": {
        "type": "string",
        "format": "time"
      }
    }
  }
}

Что я мог бы придумать

Если я добавлю AlternateTypeRule изLocalTime до String, я получаю только половину того, что хочу.

{
  "ExampleDto": {
    "type": "object",
    "properties": {
      "time": {
        "type": "string"
      }
    }
  }
}

Конечно, я также экспериментировал со многими вещами, но мне так и не удалось установить «формат» свойства.Я обнаружил, что каким-то образом вызов конструктора io.swagger.models.properties.StringProperty#StringProperty(java.lang.String) с аргументом time в качестве аргумента поможет, но я не могу понять, как этого добиться.

Я создал проект на github, чтобы продемонстрировать свою проблему.https://github.com/LorenzSchumann/springfoxshowcase

...