前言
具体实现
运行结果
注意要点
总结
前言
在泛微E9中,可以通过注解的方式来编写对外的接口,之前的版本都是通过编写servlet类,然后在web.xml文件中将这个类和访问路径进行编辑之后才好在浏览器中通过输入对应的url来进行访问,这样的话,每一次编写对应的对外接口都比较麻烦
在泛微升级到E9之后,对应的jdk也从1.6升级到了1.8;已经可以支持通过使用注解来进行开发了,在泛微中使用注解进行开发的话就和之前在javaWeb中编写Rest接口很类似了
虽然但是泛微规定了一系列的编写规则就类似java的三层架构一样,但是如果对代码的美观性以及规范性和可重用性不是特别在意的话完全可以通过一个类来实现整个接口的开发
具体实现
在编写E9的Rest接口的时候,咱们必须要注意的是类的存放路径的问题,只有将class文件放在服务器正确的包下才能访问到对应的接口
在泛微的只是文档中有对此的介绍【文档中详细说明了他的三层规范要求,但是我也说了对此不介意的可以直接一个类解决所有!!!】
java">package com.api.workflow.web.workflowPath;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import com.alibaba.fastjson.JSON;
import weaver.conn.RecordSet;
import weaver.general.Util;
/**
* @author cxy
*
*/
@Path("/workflow/test")
public class EcodeTestActionWorkflow {
@GET
@Path("/getInfo2")
@Produces(MediaType.TEXT_PLAIN)
public String test(@Context HttpServletRequest request,@Context HttpServletResponse response) {
Map<String, String> map = new HashMap<>();
RecordSet rs = new RecordSet();
String sql = "select * from Resource where loginid = 'no123";
rs.execute(sql);
rs.first();
String username = Util.null2String(rs.getString("lastname"));
map.put("test", "test3");
map.put("username", username);
String jsonStr = JSON.toJSONString(map);
System.out.println(jsonStr);
return jsonStr;
}
}
当然了这只是我的一个小小的建议,如果你对代码规范有自己的要求的话,完全可以按照她写的三层架构来实现接口的【没有任何问题,看你自己!!!】
运行结果
在把java文件编译好的class文件放在对应的【workflowPath】包下之后,重启服务器,即可通过访问对应的URL访问接口了
注意要点
- 接口的class文件存放位置一定要在workflowPath包下,只有这个包下的接口可以在类上通过@Path进行规定【我是说如果你打算用一个类来实现接口功能的话】
- 如果你发现你的注解对应的包无法导入,那么你需要查看你的lib里面是否有对应的jersey的包
总结
最后的最后,再一次强调,选择使用三层架构以及选择不使用都是个人自由哦~
如果有任何问题的话可以在评论区进行讨论哦~