我有一个 Web 服务,在设计时在 TWebModule 上定义了越来越多的 TWebAction 项,并与 OnAction 事件耦合。
请求是通过 URL 进行的 HTTP GET,响应是“手工制作”的 JSON 数据,即在运行时使用诸如'TSuperObject'.S['errormessage'] := lErrMsg;
我想将其更改为带有 JSON 数据的 HTTP POST 请求的语句组成,然后将所有请求/响应 JSON 结构从(反)序列化/ 到使用 SuperObjects TSuperRttiContext AsJSON和AsType方法的正确对象(可能还有记录) 。
如何创建数据结构以将我的新“要 JSON(反)序列化的对象”与设计时 TWebactions 映射/链接?这些对象都是不同的(一些属性可以在一个共同的祖先中),并且可能包含对象或记录属性本身(例如FData: Array of TSubObject
[SuperObject可以很好地序列化]之类的东西)。
注意:已经有一个快速而肮脏的枚举类型,我用来收集时间统计信息(也需要维护),它也可以集成。
type
TWebAct = (
ttinfo,
ttlogin,
...
ttgetcostitemlist,
ttgetvacationplanning
);
基本上,我想在添加新的 TWebAction 时尽量减少需要进行维护的地方的数量。