我在 java 中有一个函数,它接收一个 SOAP 请求(一个 java 对象)并验证请求参数。一旦验证,此请求将进一步用于业务逻辑。在验证请求时,如果函数发现无效参数,它会尝试纠正它并更改其值。这意味着,作为函数参数接收的请求对象将被修改。该函数不能创建一个新请求并用有效参数填充它然后返回它,因为该函数已经返回一个响应对象。
那么,现在的问题是,改变作为输入参数的对象状态是否正确?我认为不是,因为调用函数不知道传递的对象状态正在被修改,除非我们在 java doc 中提到它并且调用者仔细阅读。
有替补吗?