当前位置: 首页 > 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的包

总结

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

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

相关文章:

泛微OA编写后端Rest接口

泛微OA编写后端Rest接口 前言 具体实现 运行结果 注意要点 总结 前言 在泛微E9中&#xff0c;可以通过注解的方式来编写对外的接口&#xff0c;之前的版本都是通过编写servlet类&#xff0c;然后在web.xml文件中将这个类和访问路径进行编辑之后才好在浏览器中通过输入对应…...

AI助力下的PPT革命:DeepSeek 与Kimi的高效创作实践

清华大学出品《DeepSeek&#xff1a;从入门到精通》分享 在忙碌的职场中&#xff0c;制作一份高质量的PPT往往需要投入大量时间和精力&#xff0c;尤其是在临近截止日期时。今天&#xff0c;我们将探索如何借助 AI 工具 —— DeepSeek 和 Kimi —— 让 PPT 制作变得既快捷又高…...

002 SpringCloudAlibaba整合 - Feign远程调用、Loadbalancer负载均衡

前文地址&#xff1a; 001 SpringCloudAlibaba整合 - Nacos注册配置中心、Sentinel流控、Zipkin链路追踪、Admin监控 文章目录 8.Feign远程调用、loadbalancer负载均衡整合1.OpenFeign整合1.引入依赖2.启动类添加EnableFeignClients注解3.yml配置4.日志配置5.远程调用测试6.服务…...

计算机视觉之图像处理-----SIFT、SURF、FAST、ORB 特征提取算法深度解析

SIFT、SURF、FAST、ORB 特征提取算法深度解析 前言 在图像处理领域亦或是计算机视觉中&#xff0c;首先我们需要先理解几个名词&#xff1a; 什么是尺度不变&#xff1f; 在实际场景中&#xff0c;同一物体可能出现在不同距离&#xff08;如远处的山和近处的树&#xff09;…...

DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署

DeepSeek接入Siri&#xff08;已升级支持苹果手表&#xff09;完整版硅基流动DeepSeek-R1部署 **DeepSeek** 是一款专注于深度学习和人工智能的工具或平台&#xff0c;通常与人工智能、机器学习、自动化分析等领域有关。它的主要功能可能包括&#xff1a;深度学习模型搜索&…...

elabradio入门第八讲——帧同步技术

一、帧同步的相关知识 数字通信中&#xff0c; 为了使接收到的码元能够被理解&#xff0c;需要知道其如何分组。一般说来&#xff0c;接收端需要利用帧同步码去划分接收码元序列。将标志码组开始位置的帧同步码插入于一个码组的前面&#xff0c;如图所示。 这里的帧同步码是一…...

站长工具SEO综合查询是什么?怎么利用站长工具SEO综合查询

你的网站是否像一辆没有仪表盘的车&#xff1f;明明在狂奔却不知道油耗、时速、故障灯状态&#xff1f;2025年SimilarWeb数据显示&#xff0c;83%的站长因缺乏数据化诊断工具&#xff0c;导致50%以上的流量白白流失。今天我们用“修车师傅”的视角&#xff0c;拆解SEO综合查询工…...

超简单理解KMP算法(最长公共前后缀next数组、合并主子串、子串偏移法)

KMP算法理解 最长公共前后缀next合并主子串子串偏移 参考b站&#xff1a;子串偏移、合并主子串 最长公共前后缀next 这个概念是一个trick&#xff0c;帮助我们记录遍历了一遍的数组的相似特性&#xff0c;想出来确实很nb&#xff0c;我也不理解逻辑是怎么想出来的。 字符串的…...

【每日论文】TESS 2: A Large-Scale Generalist Diffusion Language Model

下载PDF或阅读论文&#xff0c;请点击&#xff1a;LlamaFactory - huggingface daily paper - 每日论文解读 | LlamaFactory | LlamaFactory 摘要 我们推出了TESS 2&#xff0c;这是一种通用的指令跟随扩散语言模型&#xff0c;其性能优于当代的指令调整扩散模型&#xff0c;有…...

如何在 React 中测试高阶组件?

在 React 中测试高阶组件可以采用多种策略&#xff0c;以下是常见的测试方法&#xff1a; 1. 测试高阶组件返回的组件 高阶组件本身是一个函数&#xff0c;它返回一个新的组件。因此&#xff0c;可以通过测试这个返回的组件来间接测试高阶组件的功能。通常使用 Jest 作为测试…...

设计模式学习笔记

说了一万遍&#xff01;学习要做笔记&#xff01; 时间一长&#xff0c;就会忘了&#xff0c;后面再来学&#xff0c;又要从头学起 关键是重难点&#xff01;&#xff01;&#xff01;当初学的时候就是因为攻克难点、寻找重点花费时间 不做笔记每次复习都要浪费时间在重难点上…...

写论文技巧 :Word文档插入图片,实现自动对齐

插入表格&#xff0c;调整大小 取消自动适应 插入图片&#xff0c;去掉边框...

VSCode - VSCode 切换自动换行

VSCode 自动换行 1、基本介绍 在 VSCode 中&#xff0c;启用自动换行可以让长行代码自动折行显示&#xff0c;避免水平滚动条频繁使用&#xff0c;提升代码阅读体验 如果禁用自动换行&#xff0c;长行代码就需要手动结合水平滚动条来阅读 2、演示 启用自动换行 禁用自动换…...

postman传query一个数组类型的参数,并且数组里面只有一个值的时候

1.在所加的检索项目后面加上[0], 例&#xff1a; item[0]2.数组里面多个值的时候&#xff0c;写两个相同的项目名&#xff0c;值不相同 itemvalue1 itemvalue2再看不懂&#xff0c;我也没办法了。...

【智能客服】ChatGPT大模型话术优化落地方案

本文原创作者:姚瑞南 AI-agent 大模型运营专家,先后任职于美团、猎聘等中大厂AI训练专家和智能运营专家岗;多年人工智能行业智能产品运营及大模型落地经验,拥有AI外呼方向国家专利与PMP项目管理证书。(转载需经授权) 目录 一、项目背景 1.1 行业背景 1.2 业务现…...

vue3 文件类型传Form Data数据格式给后端

在 Vue 3 中&#xff0c;如果你想将文件&#xff08;例如上传的 Excel 文件&#xff09;以 FormData 格式发送到后端&#xff0c;可以通过以下步骤实现。这种方式通常用于处理文件上传&#xff0c;因为它可以将文件和其他数据一起发送到服务器。 首先&#xff0c;创建一个 Vue…...

高考或者单招考试需要考物理这科目

问题&#xff1a;帮忙搜索一下以上学校哪些高考或者单招考试需要考物理这科目的 回答&#xff1a; 根据目前获取的资料&#xff0c;明确提及高考或单招考试需考物理的学校为湖南工业职业技术学院&#xff0c;在部分专业单招时要求选考物理&#xff1b;其他学校暂未发现明确提…...

深入剖析 DeepSeek:张量计算范式全解析

一、引言 在 AI 技术迅猛发展的当下&#xff0c;DeepSeek 以其卓越的性能成为研究热点。清华大学的《DeepSeek&#xff1a;从入门到精通》这一珍贵资料&#xff0c;为我们深入挖掘 DeepSeek 核心原理提供了指引&#xff0c;其中张量计算范式更是关键所在&#xff0c;它构建起整…...

VSCode集成deepseek使用介绍(Visual Studio Code)

VSCode集成deepseek使用介绍&#xff08;Visual Studio Code&#xff09; 1. 简介 随着AI辅助编程工具的快速发展&#xff0c;VSCode作为一款轻量级、高度可扩展的代码编辑器&#xff0c;已成为开发者首选的工具之一。DeepSeek作为AI模型&#xff0c;结合Roo Code插件&#x…...

【保姆级教程】DeepSeek R1+RAG,基于开源三件套10分钟构建本地AI知识库

一、总体方案 目前在使用 DeepSeek 在线环境时&#xff0c;页面经常显示“服务器繁忙&#xff0c;请稍后再试”&#xff0c;以 DeepSeek R1 现在的火爆程度&#xff0c;这个状况可能还会持续一段时间&#xff0c;所以这里给大家提供了 DeepSeek R1 RAG 的本地部署方案。最后实现…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中&#xff0c;工业自动化网关起着至关重要的作用&#xff0c;尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关&#xff0c;为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多&#xff0c;其中不少设备采用Devicenet协议。Devicen…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...

echarts使用graphic强行给图增加一个边框(边框根据自己的图形大小设置)- 适用于无法使用dom的样式

pdf-lib https://blog.csdn.net/Shi_haoliu/article/details/148157624?spm1001.2014.3001.5501 为了完成在pdf中导出echarts图&#xff0c;如果边框加在dom上面&#xff0c;pdf-lib导出svg的时候并不会导出边框&#xff0c;所以只能在echarts图上面加边框 grid的边框是在图里…...