接口流程图3
2017-04-30 20:54:26 6 举报
接口流程图
作者其他创作
大纲/内容
生成Api服务
遍历条件数组
通用管理模块
getAttrMap()
设定需要检查的权限,主键名字,项目类名字,JSON格式等参数
关系2
删除项目
遍历结束
条件N
请除所有自动的生成的Target、Api
判断下一个条件
返回最终生成的条件组合
注入Target数据库
实现除通用管理模块功能外功能
自动生成服务
定义了三个超类的方法,让所有集成子target的真实的服务类,自行实现,既保证了服务接口独立和灵活,有能抽象为统一的调用入口,实现统一调用。
与前面的条件生成关系
合成条件
条件描述
遍历所有服务类,我们通过类名字构建一个类实例,这样我们就可以通过类的统一方法获取服务的分组、注解、类名等信息,生成target添加到数据库中。
取出下一个条件
处理文本参数
application/x-www-form-urlencoded
条件或者条件关系
text/*
在页面利用javascript对要保存的数据形成一个JSON格式提交处理页面上,我们直接把这个JSON对象存储到库里,代码就非常精简。只要指定JSON对应的JOPO类,检查一下key是否已存在,已存在则执行更新操作,未存在或者没有包含key字段,则进行创建任务
为了方便再接口之间的相互调用,定义了以下方法,通过接口的类名和待处理参数执行统一的调用方式,可以看到代码中的target统一使用process方法执行处理,使得所有target的调用是通过唯一的入口
处理PUT方式提交的参数,参数是HTTP请求的body,通常就是JSON格式的数据,把它提取出来即可。
通过PUT方式提交的RESTful接口,当请求的content-type为multipart/form-data时,主要是上传文件的数据,把文件的数据存入到payload之中。如果content-type为text方式,则把数据进行解释,并转换成JSON格式.
引用通用管理模块
处理form表单
生成条件语句
获取参数及上传文件
提取Get参数
列表查询功能
获取表单里的参数,转换为JSON格式
生成target后,我们针对这个target自动生成一个服务API
读取项目
设置特定的参数
遍历所有条件参数,如果有Field属性的表明是条件判断,需要组合成判断语句,如果只有relation属性,则表明应该将上下文中的条件进行关联。这里通过分开两个栈来出来,一个条件栈放真实的条件,一个关系栈放条件关系,通过入栈出栈的操作就可以形成一个完整的逻辑判断语句。
通用模块实现了增删查改等功能
multipart/form-data
处理multipart的上传参数,利用commons-fileupload工具把其中上传的文件数据提取,存入到msg.attach中,把其他表单字段生成JSON格式保存
组合条件
由于不同服务接口返回数据结构不一致,命名也不一致,我们需要对返回的数据结构进行转化,转化为标准的数据格式,因此我们对最常见的参数转换过程通过递归调用做了一个统一的方法,在服务接口调用之时,会自动执行。如果服务接口的返回结果比较复杂,或者是xml结构的话,可以自行覆盖此函数即可,保证了代码的健壮和灵活性。
process(msg)
条件关系
更新或新建项目
由于我们所有的Target都部署再cn/edu/cuc/api/target/的包下面,并且我们约定好所有target类的命名都以Tgt结尾,所以我们通过遍历该路径下面的所有命名以Tgt结尾类路径,即可获得当前所有注册的服务。
条件2
遍历所有注册服务(Target)
getParamMap()
具体项目的管理模块
……
虚类Target的功能
判断bodyPart的ContentType属性
条件1
关系1
MsgHelper.parseReq
0 条评论
下一页