8000 GitHub - thoughtway/Json2Action
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

thoughtway/Json2Action

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

No packages published
0