-
Notifications
You must be signed in to change notification settings - Fork 0
thoughtway/Json2Action
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
1、用法 1.1 直接运行bin下面jar包 java -jar json2action-v0.1beta.jar -i [json文件保存的全路径] -o [输出文件的全路径] -p [Package的全名] 1.2 生成的目录结构 在-o参数制定的路径下面,会产生一个java目录,在java就是生成的所有代码的源码 1.3 输入的JSON要求 目前输入的Json必须类似下面的格式: { "Action":{ "Name":"TESTACTION", "Code":0, "SessionID": "", "Result": true, "Flag": 0, "Msg": "" }, "Parameter":{ }, "Response":{ } } Action头部目前与项目要求一致,Parameter针对的是请求参数,如果存在就提供,不存在就不提供。Response针对Action操作的响应,如果有就提供,没有就不提供。 生成的Java类是以文件名为依据的,因此如上面例子的Json保存文件建议为:TestAction.json 2、生成的Java类结构说明: 生成的Java类除了json文件定义的以外,还包括: ActionBase 所有Action的Action头部的基类,实现了ToJson的方法。 ActionFactory 实现了构造所有ActionHandler类的getAction方法。 ActionHandler 所有XXXAction.java类的基类。 ResponseBase 所有返回的基类,实现了ToJson方法。 EmptyRepsone ResponseBase的派生类,即空返回:{} ErrorResponse 错误的Action处理的返回,有More和Code两个成员。 ExceptionAction 调用getAction,发现输入不符合要求时,返回这个这个Action。 IActionHandler ActionHandler必须实现的接口,即必须实现的方法:doAction。 UnkownAction 当无法找到对应的Action或者提供的请求原始数据里连Action的定义都没有时,调用getAction就会返回这个Action。 3、下一步 3.1 生成对应的页面Javascript实现代码(已完成) 3.2 生成对应的Node.JS的服务器代码(已完成) 3.3 在生成Java类中,引入类似代理类的机制,增加扩展性。(暂时放弃,应该是项目中问题。) 3.4 保存中间生成的Schema到文件(已完成) 3.5 在chrome里做一个浏览器插件,用来定义json并保存文件。
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Packages 0
No packages published