Я совсем новичок в весенних сапогах, поэтому надеюсь, что это не глупый вопрос
У меня есть @Service, который должен инициировать атрибут класса, этот атрибут нуждается в информации, получаемой из RestPayload в контроллере. Я не нахожу наиболее рекомендуемый способ сделать это.
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/searchUser")
public List<UserWrapper> searchUser(@RequestBody UserWrapper userWrapper) {
List<UserWrapper> returnUserWrapper = userService.findByName(userWrapper);
return returnUserWrapper;
}
}
А на уровне сервиса я бы хотел что-то вроде:
@Service
public class UserService {
private LdapTemplate ldapTemplate;
public static final String BASE_DN = "xxxxxxx";
@Value( value = "${sample.ldap.url}" )
private String ldapUrl;
@Value( value = "${sample.ldap.base}" )
private String ldapBase;
public UserService() {
}
public UserService(String dn, String password) {
LdapContextSource ctxSrc = new LdapContextSource();
System.out.println(this.ldapUrl);
ctxSrc.setUrl(ldapUrl);
ctxSrc.setBase(ldapBase);
ctxSrc.setUserDn(dn);
ctxSrc.setPassword(password);
ctxSrc.afterPropertiesSet(); // this method should be called.\
this.ldapTemplate = new LdapTemplate(ctxSrc);
}
Пароль String dn и String будут добавлены в полезную нагрузку REST, но остальные свойства получены из файла свойств.
Надеюсь, что кто-нибудь поможет мне с лучшими практиками