Мне нужно скрыть значение в реализации 'toString ()'.Причина проста;Я хочу скрыть необработанное значение пароля от любой возможной регистрации.Я также пытался использовать
- type: string
- format: password
, но для Swagger-UI показывалось текстовое поле пароля.Есть ли способ добиться такого поведения?Мы используем шаблон .mustache, но я не могу найти какой-либо частичный / item / name для использования.Спасибо
Редактировать: Хорошо, я делюсь своим текущим решением, но не оптимальным.Я создал Java-бин «Пароль» (очень короткая презентация):
public class Password {
private String value;
public Password(String requestParam) {
value = requestParam;
}
public String toString() {
return "Password{<hidden||hashed value>}";
}
}
Затем в swagger conf (swagger-codegen-config.json) я импортировал отображение:
{
...other configs such as lang, dateLibrary and so on...
"importMappings": {
"Password": "com.test.example.swagger.model.Password"
}
}
И это определение пароля было использовано в swagger.yml:
...
definitions:
Request:
type: object
properties:
password:
$ref: '#/definitions/Password'
username:
type: string
...
Хорошо, так что swagger-codegen сгенерирует класс «Request» с полем Password;Spring конструктор с одним параметром обрабатывается Spring;Строка из httpRequest правильно сопоставлена с экземпляром пароля;В журнале нет необработанного значения, НО swagger-UI считает, что пользователь должен поместить объект для пароля вместо String: - /