read占位符

jw5wzhpr  于 2021-07-05  发布在  Java
关注(0)|答案(0)|浏览(247)

我想在micronaut中创建一个方面,用一种通用方法将事件发送到队列,其中包含传递给某些方法的信息,以及来自上下文的一些信息,例如方法参数、方法响应、持续时间、异常、请求头(对于api方法)等,我想在注解中定义应该添加到事件中的数据。我有一个使用spring boot和spel的工作示例:

@Event( <- This is the annotation to create the event
     @Detail(key = "salary", value = "#request.salary.toString()"), <- This is the SpEL
     @Detail(key = "ipAddress", value = "#HttpServletRequest.getHeader('x-forwarded-for').split(',')[0]"), <- This gets the client ipAddress from the context
     @Detail(key = "userAgent", value = "#HttpServletRequest.getHeader('user-agent')"") <- This gets the browser

)
public void MyMethod(RequestInformation request){
}

在上面的示例中,事件仅使用3个属性创建,并以json格式发送到队列

{
 details:[
    "salary":"6000",
    "ipAddress":"180.30.115.62",
    "userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15"
 ]
}

我知道micronaut不支持spel,因为它在文档中指出: Spring Expression Language (SpEL) - SpEL expressions are not supported, property placeholders are however 我试过阅读有关属性占位符的内容,但大多数示例都与从.yml文件获取值有关。
我想知道是否有一种方法可以在不使用micronaut创建自己的语言的情况下做类似的事情。此外,迁移到spring boot也不是一个选项。
对于如何完成这项任务,我将感谢任何帮助、建议或见解。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题