Я использую application.properties и мою среду linux для достижения 12-факторного качества. Я пытаюсь получить ключ api для работы с настраиваемым значением application.properties, которое я определяю, но он не работает.
# application.properties
plenti.iaphub.webhooks.key=ACTUAL_VALUE_OF_API_KEY # This one works
# application.properties
plenti.iaphub.webhooks.key=${ENV_VARIABLE_HOLDING_API_KEY} # This one doesn't work
Вот как я пытаюсь получить доступ значение
@Controller
@RequestMapping(path = "/iap")
public class IAPHUBController {
@Autowired
Environment env;
@PostMapping(path = "/webhook")
public ResponseEntity<String> webhook(@RequestHeader("X-Auth-Token") String iapAuthHeader) {
String iaphubKey = env.getProperty("plenti.iaphub.webhooks.key");
if (!iapAuthHeader.equals(iaphubKey)) {
// this is an inauthentic request
return ResponseEntity.status(HttpStatus.FORBIDDEN).build();
}
return ResponseEntity.ok("Hello IAPHUB");
}
}
вот ошибка, которую я получаю, когда пытаюсь получить доступ к версии переменной ENV
java.lang.IllegalArgumentException: Could not resolve placeholder