Micronaut-每个请求发送唯一的x-request-id

时间:2020-02-20 10:28:06

标签: java request header micronaut

我已经开始在micronaut中制作一个api网关。我已经有一些端点在工作,但现在该是体面记录每个请求的时候了。我来自节点,在我的脑海中,将x-request-id放在每个请求的标头中应该非常简单。

我的代码,以阐明我的意思:


@Client(value="${services.users.url}")
public interface UserClient extends BaseClient{

    @Get("/users/{userId}")
    @Header(name = "x-request-id", value = "${random.uuid}")
    Single<Object> getUserById(@PathVariable int userId);

}

但是,似乎Java只接受注释的编译时常量值:

ERROR i.m.r.intercept.RecoveryInterceptor - Type [gateway.users.clients.UserClient$Intercepted] executed with error: Could not resolve placeholder ${random.uuid}
io.micronaut.context.exceptions.ConfigurationException: Could not resolve placeholder ${random.uuid}

我已经确认不可能在任何批注上添加非恒定值,这使我想到了最后一个问题:

在micronaut / Java中,唯一标识请求的最佳方法是什么?

非常感谢。我到处搜寻了答案,但找不到有用的东西。

0 个答案:

没有答案