Как создать экземпляр ссылочного объекта в Spring Boot с помощью аннотаций?
public class Sign {
private static final List<String> KEYS = new ArrayList<>();
static {
KEYS.add(HeaderKey.XCaAppkey);
KEYS.add(HeaderKey.XCaEncryption);
KEYS.add(HeaderKey.XCaNonce);
KEYS.add(HeaderKey.XCaTimestamp);
KEYS.add(HeaderKey.XServiceId);
KEYS.add(HeaderKey.XServiceMethod);
KEYS.add(HeaderKey.XCaSignature);
}
private HttpEntity<String> httpEntity;
public Sign(HttpEntity<String> httpEntity) {
this.httpEntity = httpEntity;
}
public String encode() {
List<String> parts = new ArrayList<>();
parts.add("requestBody=" + httpEntity.getBody());
KEYS.stream().forEach(key -> {
parts.add(key + "="+httpEntity.getHeaders().getFirst(key));
});
String value = StringUtils.join(parts, "&");
return DigestUtils.md5Hex(value);
}
}
public class ApiClient {
/*
*
* */
@Autowired
private Sign sign;
HttpHeaders headers = new HttpHeaders();
HttpEntity<String> entity = new HttpEntity<>(requestBody, headers);
//Sign sign=new Sign(entity); how to choose new object and automatic import
String caSignature=sign.encode();