Я не могу понять, что я делаю неправильно в следующем отличном контроллере.
Аннотации @Value и @Property перед членами класса g2gApiKey2 и g2gApiKey3 не устанавливаются.
Однако аннотация @Value перед параметром g2gk в конструкторе равна .
Я видел, что была проблема с @Property, который не работал в groovy, но, похоже, это исправлено в micronaut 1.0.1, что мы и используем.
В противном случае конечная точка настроена и работает нормально.
@Slf4j
@Endpoint("translation")
@Requires(property="g2g.apikey")
class TranslationController {
String g2gApiKey
@Value('${g2g.apikey}')
String g2gApiKey2
@Property(name = "g2g.apikey")
String g2gApiKey3
TranslationController(@Value('${g2g.apikey}') String g2gk) {
this.g2gApiKey = g2gk
}
@Write
HttpResponse<Response> post (@Body Request req) {
// Check for invalid request
if (req.apiKey != g2gApiKey) return HttpResponse.unauthorized()
Response rv = new Response()
return HttpResponse.ok(rv)
}
}
Это application.yml, из которого поступают свойства:
g2g:
apikey: abcd-1234