我一直在寻找将参数从顶部函数传递到底部的最佳方法。
让我解释一下我的情况。我有一个Java Web服务,我从用户那里得到一个参数,作为请求中的标题,我将在第5个函数调用中需要这个参数。
控制器 - > Api - >适配器 - >适配器中的本地功能 - >交换。
因此,我最终在传递此参数的方式中为每个函数调用添加参数。
问题是我需要为我服务中的所有API调用执行此操作。并且每个请求应该是唯一的。 (不能用另一个请求进行集体处理)。
我希望我的问题很明确,如果需要,我希望能够提高它。 谢谢。
EDIT1:
解释示例:
Controller(String data)调用 - >
Api(字符串数据)调用 - >
适配器(字符串数据)调用 - >
本地私有函数(String data)实际在Exchange(String data)调用中使用此数据。
有没有办法将数据从Controller传递到适配器中的本地私有函数,而不会在每个函数上传递此参数?例如上下文,但每个REST请求必须是唯一的而不是会话。
我被建议创建一个Properties类,它将保存数据并将其传递给所有函数。如果我需要另一个字段(就像我现在需要数据),我将要做的就是将它添加到属性类并使用getter / setter。例如:
在控制器properties.setData(data)中然后: 控制器(属性道具) - > Api(属性道具) - > ... - >本地私有函数(Properties prop)然后执行prop.getData();
这是一个很好的解决方案,但在这一点上,我将进行大规模的重构。