Когда вы создаете предоставляемую пользователем услугу следующим образом
cf cups ups-example1 -p '{"user":"user1", "password":"password1"}'
и привяжите это к своему приложению, информация, предоставленная в предоставленной пользователем службе, сопоставляется с вашей переменной среды VCAP_SERVICES
.
Это должно выглядеть примерно так
{
"user-provided": [
{
"credentials": {
"password": "password1",
"user": "user1"
},
"label": "user-provided",
"name": "ups-example1"
}
]
}
С помощью Springs CloudFoundryVcapEnvironmentPostProcessor сопоставляется со свойством среды, доступ к которому может получить vcap.services.ups-example1.credentials
.
Чтобы сопоставить эти свойства с объектом Java, вы можете использовать @ConfigurationProperties
@Configuration
@ConfigurationProperties("vcap.services.ups-example1.credentials")
public class UserProvidedServiceOneProperties {
private String user;
private String password;
// getters & setters
}
Если вы хотите сопоставить несколько пользовательских сервисов с одним объектом, вы можете использовать внутренние классы для этого варианта использования.
@Configuration
public class UserProvidedServicesProperties {
@Autowired
private UserProvidedServiceOneProperties userProvidedService1;
@Autowired
private UserProvidedServiceTwoProperties userProvidedService2;
// getters & setters
@Configuration
@ConfigurationProperties("vcap.services.ups-example1.credentials")
public static class UserProvidedServiceOneProperties {
private String user;
private String password;
// getters & setters
}
@Configuration
@ConfigurationProperties("vcap.services.ups-example2.credentials")
public static class UserProvidedServiceTwoProperties {
private String user;
private String secret;
private String url;
// getters & setters
}
}
person
benny.la
schedule
25.07.2018