【发布时间】:2019-01-09 23:44:16
【问题描述】:
我无法弄清楚我在以下 groovy 控制器中做错了什么。 未设置类成员 g2gApiKey2 和 g2gApiKey3 之前的 @Value 和 @Property 注释。 但是构造函数中的g2gk参数之前的@Value注解是。
我确实看到 @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
【问题讨论】:
-
它在注入控制器的服务中工作,并在规范测试中工作。我需要为 Endpoint 做一些额外的事情吗?
标签: groovy annotations micronaut