当前位置: 首页 > news >正文

泛微OA编写后端Rest接口

泛微OA编写后端Rest接口

前言

具体实现

运行结果

注意要点

总结


前言

在泛微E9中,可以通过注解的方式来编写对外的接口,之前的版本都是通过编写servlet类,然后在web.xml文件中将这个类和访问路径进行编辑之后才好在浏览器中通过输入对应的url来进行访问,这样的话,每一次编写对应的对外接口都比较麻烦

在泛微升级到E9之后,对应的jdk也从1.6升级到了1.8;已经可以支持通过使用注解来进行开发了,在泛微中使用注解进行开发的话就和之前在javaWeb中编写Rest接口很类似了

虽然但是泛微规定了一系列的编写规则就类似java的三层架构一样,但是如果对代码的美观性以及规范性和可重用性不是特别在意的话完全可以通过一个类来实现整个接口的开发

具体实现

在编写E9的Rest接口的时候,咱们必须要注意的是类的存放路径的问题,只有将class文件放在服务器正确的包下才能访问到对应的接口

在泛微的只是文档中有对此的介绍【文档中详细说明了他的三层规范要求,但是我也说了对此不介意的可以直接一个类解决所有!!!

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访问接口了

注意要点

  1. 接口的class文件存放位置一定要在workflowPath包下,只有这个包下的接口可以在类上通过@Path进行规定【我是说如果你打算用一个类来实现接口功能的话】
  2. 如果你发现你的注解对应的包无法导入,那么你需要查看你的lib里面是否有对应的jersey的包

总结

最后的最后,再一次强调,选择使用三层架构以及选择不使用都是个人自由哦~

如果有任何问题的话可以在评论区进行讨论哦~

http://www.lryc.cn/news/540781.html

相关文章:

  • AI助力下的PPT革命:DeepSeek 与Kimi的高效创作实践
  • 002 SpringCloudAlibaba整合 - Feign远程调用、Loadbalancer负载均衡
  • 计算机视觉之图像处理-----SIFT、SURF、FAST、ORB 特征提取算法深度解析
  • DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署
  • elabradio入门第八讲——帧同步技术
  • 站长工具SEO综合查询是什么?怎么利用站长工具SEO综合查询
  • 超简单理解KMP算法(最长公共前后缀next数组、合并主子串、子串偏移法)
  • 【每日论文】TESS 2: A Large-Scale Generalist Diffusion Language Model
  • 如何在 React 中测试高阶组件?
  • 设计模式学习笔记
  • 写论文技巧 :Word文档插入图片,实现自动对齐
  • VSCode - VSCode 切换自动换行
  • postman传query一个数组类型的参数,并且数组里面只有一个值的时候
  • 【智能客服】ChatGPT大模型话术优化落地方案
  • vue3 文件类型传Form Data数据格式给后端
  • 高考或者单招考试需要考物理这科目
  • 深入剖析 DeepSeek:张量计算范式全解析
  • VSCode集成deepseek使用介绍(Visual Studio Code)
  • 【保姆级教程】DeepSeek R1+RAG,基于开源三件套10分钟构建本地AI知识库
  • vue,vue3 keepalive没有效果,无法缓存页面include无效,keep-alive
  • Windows逆向工程入门之指针类型
  • PHP+Apache+MySQL安装(Windows)
  • 算法基础 -- 堆排序之C语言实现
  • Hutool - Extra:功能丰富的扩展模块
  • C++ 中的继承详解(上)
  • halcon三维点云数据处理(二十五)moments_object_model_3d
  • Mac M3/M4 本地部署Deepseek并集成vscode
  • 2024年职高单招或高考计算机类投档线
  • Unity Excel导表工具转Lua文件
  • SpringBoot项目集成MinIO