我构建了一个简单的 Flex 应用程序(使用 BlazeDS),它通过使用 Flex 远程处理调用 Java 服务来显示“Person”详细信息。 所以,我的 Person 类看起来像这样:
class Person {
public int age;
public String name;
}
作为一名java开发人员,我的理解是: 当我在 web 应用程序中运行前端 Flex 应用程序时,会执行 RPC 调用,BlazeDS 会努力调用正确的方法、获取结果作为对象、将对象转换为 AMF 格式(序列化)。然后,Web/应用程序服务器通过 http 将此响应发送回请求应用程序。 Flex 应用程序现在执行反序列化以 AMF 格式接收的对象并以某种方式使用它的任务。
这是我的问题: 我想在响应到达 Flex 应用程序之前通过修改 person 对象的属性来修改响应。我有一个过滤器来执行此操作。但是,我不确定如何反序列化 AMF 流、修改对象、将对象序列化回流/以某种方式重建流。
有办法做到这一点吗?我应该从哪里开始?
PS 如果问题太困惑,这里有一个较短的版本: 在使用 java 过滤器到达 Flex 应用程序之前,如何修改内容类型 AMF-X 的响应流?
最佳答案
自行序列化和反序列化 AMF 并不容易,所以一定要避免这种情况。更好的方法是在后端代码中将数据转换为正确的格式。从 Flex 中调用后端的服务方法,然后获取数据并将其转换为正确的对象结构,然后再将其发送回 Flex。
关于java - 在运行时修改 AMF 响应 - 如何操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1831476/