使用我正在使用VMWare的代码创建了一个与其Rest API一起使用的对象工厂。其中一个是clientconfig类,它允许我连接到Rest API服务。
我正在尝试提示用户输入密码而不是将其存储在我的Java客户端中。我怀疑我必须删除basicauth对象并替换它,但我希望可能有一种更简单的方法。
这是我的代码:
public static void main(String[] args) {
try {
Client client = ClientConfig
.builder()
.serverUrl("https://vrops-ip-address/suite-api")
.basicAuth("admin", "password")
.verify("false")
.useJson()
.build()
.newClient();
// retrieve list of all adapter instances
AdapterInstancesInfoDto adapterInstances = client.adapterInstancesClient().list();
// get actual set of adapters
Set<AdapterInstanceInfoDto> adapters = adapterInstances.getAdapterInstancesInfoDto();
// iterate the set
for (AdapterInstanceInfoDto adapter : adapters) {
// print to console
System.out.println(ReflectionToStringBuilder.reflectionToString(adapter, ToStringStyle.MULTI_LINE_STYLE));
}
} catch (Exception e) {
e.printStackTrace();
}
}
和basicauth对象如下:
public Builder basicAuth(String username, String password) {
}
构建器类是只读的,因此我无法更改basicauth。任何参考或建议在这里都会有所帮助。
答案 0 :(得分:0)
在创建连接之前只需要输入密码。
System.err.print("Username: ");
String user = System.console().readLine();
System.err.print("Password: ");
String password = System.console().readPassword();
try {
Client client = ClientConfig
.builder()
.serverUrl("https://vrops-ip-address/suite-api")
.basicAuth(username, password)
.verify("false")
.useJson()
.build()
.newClient();
.
.
.