Автоматическое отображение списка перечислений в документах по автоматическому отдыху не объясняет
Я сгенерировал документ, используя документы Spring Auto Rest. При этом используются библиотеки capital.scalable в сочетании с документами Java и документами Spring Rest. Моя проблема связана со списком перечислений при описании полей запроса. Тип столбца генерирует значение как массив [объект]. Кроме того, столбец описания не генерирует оператор must со значениями перечисления, как это происходит, когда поле Enum является только полем, а не списком перечислений.
public enum Discipline {
ECONOMICS("economics"),
SOCIOLOGYANTHROPOLOGY("sociologyanthropology");
private final String discipline;
Discipline(final String discipline) {
this.discipline = discipline;
}
public String getId() {
return discipline;
}
}
Выше перечисление, которое я имею. Он правильно использует tostring для отображения в описании, когда поле используется только как enum. Но если список перечислений т.е.
List<Discipline>
это поле, то оно не описывается должным образом, как указано выше.
Пожалуйста, дайте мне знать, что нужно сделать для более эффективной генерации документа?
1 ответ
Вы правы, что списки перечислений еще не поддерживаются должным образом.
Если у вас есть запрос / ответ, как:
class SomeRequest {
public enum EnumTest {
ONE, TWO
}
/**
* List of enums
*/
private List<EnumTest> enumTestList;
}
это задокументировано как с Spring Auto REST Docs на данный момент.
Было бы хорошо, если бы тип Array[String]
и описание будет перечислять элементы перечисления, например, "Элементы должны быть одним из [...]".
Spring Auto REST Docs 1.0.11 устраняет проблему с типом и, таким образом, Array[String]
будет показано с этой версией.
Я открыл вопрос по улучшению документации списков перечислений: https://github.com/ScaCap/spring-auto-restdocs/issues/194. Пока эта проблема не будет решена, можно вручную добавить "Элементы должны быть одним из [...]" в Javadoc списка в качестве обходного пути.