基于 Voovan 开发的通用 Restful 服务框架。旨在为广大开发者提供一个快速、稳定、功能丰富、自产文档的 Restful 框架。目的是在完成业务实现的同时,说明文档、接口服务等同时完成。这是一个 Voovan 项目的模块,需要在 Voovan WebServer 项目中添加该模块.
特点:
一、准备Vestful运行环境
下载 最新版本的VoovanServer, 并修改配置文件web.json。
//配置文件:conf/web.json "Modules": [ { "Name": "Vestful 模块", //模块名称 "Path": "/vestful", //模块路径 "ClassName": "org.voovan.vestful.RestfulModule" //模块处理器 } ]
二、编写业务类 ####注解说明:
//类:org.voovan.test.vestful.TestClass.java //方法注解 @Restful(method="LOCK", desc="This is a method description. test float param") public static TestResult testWithReturnObject( @Param(name="test1",desc="Param name is test1, type is String") //参数注解 String test1, @Param(name="test2",desc="Param name is test2. type is int") //参数注解 int test2){ return new TestResult(test1,test2); }
三、修改配置文件 ####修改 conf/vestful.json ####增加以下内容到配置文件中:
//配置文件:conf/vestful.json[ { "name":"test", "route":"/test", "classPath":"org.voovan.test.restful.TestClass", //上一步中变写的业务类 "desc":"this is a test interface." }]
使用举例: 测试代码请参照
:org.voovan.test.vestful.TestClass.java
说明文档解释: 类说明及测试页面:
http://x.x.x.x/vestful/test!
类中某个方法的说明及测试页面:
http://x.x.x.x/vestful/test/testWithObject!
以上是基本的 Restful 服务的提供方式,下面将会介绍如何在页面的 JS 中操作后台的 java 对象.
四、在页面的 JS 中操作后台的 java 对象 ####修改 conf/vestful.json ####增加以下内容到配置文件中::
//配置文件:conf/vestful.json[ "name": "DirectObject", "route": "DirectObject", "classPath": "org.voovan.vestful.entity.DirectObject", "desc": "Restful API for DirectObject", "params": { //这里是访问这个服务的完整路径(web.json中配置的Vestful模块路径+ 当前服务的类路径) //这里 web.json 中配置的是"/",当前类访问路径配置的是"DirectObject",所以通过/DirectObject来访问 "route":"DirectObject", //这里控制 class 是否能够被前端的 js 调用 //只有这classControl这个节点里的 class 才可以被前端 js 调用 "classControl": [ "java.util.ArrayList", "org.voovan.test.vestful.*" ], //定义类的别名 "alias":{ "OVTV": "org.voovan.test.vestful.TestClass" }, //对象存活时间控制,单位:秒 "objectAliveTime":60 }]
在页面中引用 java 类到页面的 js 上下问中:
<script lang="javascript" src="/DirectObject/genScript/java.util.ArrayList"></script>
页面引入 js 的路径为conf/vestful.json配置文件中”
org.voovan.vestful.entity.DirectObject”类的 params 参数列表中route属性中的路径。 路径后增加genScript来代表后台动态生成脚本。
例如: 例子中的配置为:”route”:”DirectObject” 那么页面引入的 js 路径为:/DirectObject/genScript/类完全限定名或者别名即可将对象引入到页面中。
在页面中使用 Java 类:
//具体内容请参照 WEBAPP/test.html<script lang="javascript" > arraylist1 = new ArrayList(); arraylist1.add("aaaa"); arraylist2 = new ArrayList(); arraylist2.add("bbbb"); //支持在前台构造的 java 对象的相互引用 arraylist1.addAll(arraylist2); //手工释放对象,如果不手工释放则根据配置文件里的存活时常进行释放 arraylist1.release(); arraylist2.release();<script/>
项目地址
https://gitee.com/helyho/Vestful
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!