王柳 发表于 2025-2-23 17:05:46

泛微OA编写后端Rest接口

泛微OA编写后端Rest接口
前言
具体实现
运行结果
注意要点
总结

前言

在泛微E9中,可以通过注解的方式来编写对外的接口,之前的版本都是通过编写servlet类,然后在web.xml文件中将这个类和访问路径举行编辑之后才幸亏浏览器中通过输入对应的url来举行访问,如许的话,每一次编写对应的对外接口都比较麻烦
在泛微升级到E9之后,对应的jdk也从1.6升级到了1.8;已经可以支持通过使用注解来举行开发了,在泛微中使用注解举行开发的话就和之前在javaWeb中编写Rest接口很雷同了
固然但是泛微规定了一系列的编写规则就雷同java的三层架构一样,但是假如对代码的美观性以及规范性和可重用性不是特别在意的话完全可以通过一个类来实现整个接口的开发
具体实现

在编写E9的Rest接口的时候,咱们必须要注意的是类的存放路径的问题,只有将class文件放在服务器正确的包下才能访问到对应的接口
在泛微的只是文档中有对此的先容【文档中具体说明白他的三层规范要求,但是我也说了对此不介怀的可以直接一个类解决全部!!!】
https://i-blog.csdnimg.cn/direct/9851dbc295384dc9b1330e5dee2650c7.png

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访问接口了
https://i-blog.csdnimg.cn/direct/8d2c7dfdc4094cb09356989508a1d171.png
注意要点


[*]接口的class文件存放位置一定要在workflowPath包下,只有这个包下的接口可以在类上通过@Path举行规定【我是说假如你打算用一个类来实现接口功能的话】
[*]假如你发现你的注解对应的包无法导入,那么你需要检察你的lib里面是否有对应的jersey的包https://i-blog.csdnimg.cn/direct/1b9c53908ea54a3180e5884234dd0885.png
总结

末了的末了,再一次强调,选择使用三层架构以及选择不使用都是个人自由哦~
假如有任何问题的话可以在评论区举行讨论哦~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 泛微OA编写后端Rest接口