当前位置: 首页 > 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 的本地部署方案。最后实现…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...