gpt4 book ai didi

jakarta-ee - ejb 拦截器可以在调用类获取之前更改方法的返回值吗?

转载 作者:行者123 更新时间:2023-12-04 06:42:52 25 4
gpt4 key购买 nike

如果我们在该字段中有一个代码,该代码具有另一个产品调用的方法,并返回一个对象列表。并且我们需要对代码进行更改以使其在填充要返回的列表时更加灵活,我们是否可以在此期间为客户创建一个拦截器,在返回列表之前拦截该方法,并在此之前从列表中删除项目调用该方法的产品获取列表。

例如

OurCode.search() 返回一个 foundObjects 列表

其他产品调用 OurCode.search,接收 100 个项目

我们可以创建一个拦截器,在 OurCode.search 返回之前进行拦截,并更改 foundObjects 的列表,删除不必要的项目吗?这只是一个临时修复,直到 future 的版本

最佳答案

虽然我不建议这样做(为了便于理解,而且根据我的经验,“临时修复”将成为永久修复),但您可以使用拦截器来做到这一点。

@AroundInvoke
Object filterSearchResults(InvocationContext ctx) throws Exception {
Object result = ctx.proceed();
if ( result != null) {
List<SearchResult> results = (List<SearchResult>)result;
// do whatever you want to to with your results here
return results;
}
return result;
}

关于jakarta-ee - ejb 拦截器可以在调用类获取之前更改方法的返回值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11659936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com