泛微e9开发 编写前端请求后端接口方法以及编写后端接口
泛微e9开发 前端请求后端接口以及后端发布接口
前端请求后端接口
前端发起get请求
fetch('/api/youpath', {method: 'GET', // 默认 GET 方法,可以省略headers: {'Content-Type': 'application/json', // 通常 GET 请求无需指定 body,Content-Type 不太重要},
}).then(response => response.json()).then(data => console.log(data)).catch(error => console.error('Error:', error));
前端发起post请求
fetch('/api/youpath', {method: 'POST', // 指定请求方法为 POSTheaders: {'Content-Type': 'application/json', // 指定请求体格式为 JSON},body: JSON.stringify({ // 将 JavaScript 对象转为 JSON 字符串name: 'John Doe',age: 30}),
}).then(response => response.json()) // 解析 JSON 响应.then(data => console.log(data)) // 处理响应数据.catch(error => console.error('Error:', error)); // 错误处理
后端发布接口
首先这个后端接口的路径必须是在com/api这个目录的下面!!!
get类型的接口
package com.api.customization.kq.web;import com.alibaba.fastjson.JSON;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;@Path("/customization/hrm/kq")
public class CardReplacementAction {@GET@Path("/card/getNumber")@Produces(MediaType.APPLICATION_JSON)public String intervene(@QueryParam("userid")int userid, @QueryParam("date")String date) {BaseBean baseBean = new BaseBean();HashMap<String, Object> result = new HashMap<>();// 接受参数调用方法RecordSet recordSet = new RecordSet();String sql = "select * from formtable_main_26 where sqr = "+userid+" and sqrq like '"+date.substring(0, 7)+"%'";recordSet.executeQuery(sql);try {result.put("number", recordSet.getArray().size());}catch (Exception e) {baseBean.writeLog("==lzl==error:"+e.getMessage());}return JSON.toJSONString(result);}
}
post 类型的接口
方法一:通过从request对象中读取参数值
@POST
@Path("/getSomethingList")
@Produces(MediaType.TEXT_PLAIN)
public String List(@Context HttpServletRequest request, @Context HttpServletResponse response) {Map<String, Object> apidatas = new HashMap<String, Object>();String requestname = Util.null2String(request.getParameter("requestname"));String workflowid = Util.null2String(request.getParameter("workflowid"));apidatas.put("status", "1");return JSONObject.toJSONString(apidatas);
}
方法二:用类接收参数
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;// 定义路径
@Path("/users")
public class UserResource {// 接收 POST 请求@POST@Consumes(MediaType.APPLICATION_JSON) // 接收 JSON 数据@Produces(MediaType.APPLICATION_JSON) // 返回 JSON 数据public Response createUser(User user) {// 这里,JAX-RS 自动将 JSON 请求体解析为 User 对象// 打印接收到的用户信息System.out.println("Received user: " + user.getName() + ", " + user.getAge());// 返回成功响应,并返回用户对象return Response.status(201) // HTTP 201 状态码:资源已创建.entity(user) // 将用户对象作为响应返回.build();}
}
注意事项
- 首先接口必须发布在com.api包下
- 前端访问后端接口路径的时候需要在你编写的接口路径前加上/api比如访问上面的post接口就得访问/api/users
相关文章:
泛微e9开发 编写前端请求后端接口方法以及编写后端接口
泛微e9开发 前端请求后端接口以及后端发布接口 前端请求后端接口 前端发起get请求 fetch(/api/youpath, {method: GET, // 默认 GET 方法,可以省略headers: {Content-Type: application/json, // 通常 GET 请求无需指定 body,Content-Type 不太重要},…...
Linux —— 《线程控制》
文章目录 前言:为什么要链接pthread库?线程控制:线程创建:start_routine?传递自定义类型同一份栈空间? 线程等待:返回值与参数?创建多线程 线程终止线程分离 前言: 上一文我们学习…...
基于HTML+CSS的房地产销售网站设计与实现
摘 要 房地产销售系统,在二十年来互联网时代下有着巨大的意义,随着互联网不断的发展扩大,一个方便直 观的房地产管理系统的网站开发是多么地有意义,不仅打破了传统的线下看房,线下获取资讯,也给房地产从业…...
操作系统 | 学习笔记 | 王道 | 2.4死锁
2.4 死锁 文章目录 2.4 死锁2.4.1 死锁的概念2.4.2 死锁预防2.4.3 死锁避免2.4.4 死锁检测和解除 2.4.1 死锁的概念 死锁的定义 在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象&am…...
【FPGA开发】Vivado自定义封装IP核,绑定总线
支持单个文件的封装、整个工程的封装,这里用单个文件举例。 在文件工程目录下,自建一个文件夹,里面放上需要封装的verilog文件。 选择第三个,指定路径封装,找到文件所在目录 取个名,选择封装IP的路径 会…...
python的3D可视化库vedo-3 (visual模块)点对象的属性、光效、附注
文章目录 3 PointsVisual的方法3.1 对象属性3.1.1 顶点大小3.1.2 复制属性3.1.3 颜色设置3.1.4透明度设置 3.2 对象光效3.2.1 点的形状3.2.2 点的表面光效 3.3 尾随线和投影3.3.1 尾随线3.3.2 投影 3.4 给对象附加文字说明3.4.1 标注3.4.2 2D标注3.4.3 气泡说明3.4.4 旗标说明3…...
llamaindex实战-ChatEngine-ReAct Agent模式
概述 ReAct 是一种基于Agent的聊天模式,构建在数据查询引擎之上。对于每次聊天交互,代理都会进入一个 ReAct 循环: 首先决定是否使用查询引擎工具并提出适当的输入 (可选)使用查询引擎工具并观察其输出 决定是否重复…...
redis快速进门
、数据库类型认识 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行…...
从0开始linux(39)——线程(2)线程控制
欢迎来到博主的专栏:从0开始linux 博主ID:代码小豪 文章目录 线程创建线程标识符线程参数多线程竞争资源 回收线程detach 线程退出pthread_cancel 线程创建 线程创建的函数为pthread_create。该函数是包含在posix线程库当中,posix线程是C语言…...
International Journal of Medical Informatics投稿经历时间节点
20240423,完成投稿 20240612,按编辑要求修改后再投, with editor 20240613,under review,completed 0, accepted 0, invitation 2. 20240620, under review,completed 0, accepted 1, invitation 2. 20240626, unde…...
BUUCTF—Reverse—Java逆向解密(10)
程序员小张不小心弄丢了加密文件用的秘钥,已知还好小张曾经编写了一个秘钥验证算法,聪明的你能帮小张找到秘钥吗? 注意:得到的 flag 请包上 flag{} 提交 需要用专门的Java反编译软件:jd-gui 下载文件,发现是个class文…...
CLIP-MMA: Multi-Modal Adapter for Vision-Language Models
当前的问题 CLIP-Adapter仅单独调整图像和文本嵌入,忽略了不同模态之间的交互作用。此外,适应性参数容易过拟合训练数据,导致新任务泛化能力的损失。 动机 图1所示。多模态适配器说明。 通过一种基于注意力的 Adapter ,作者称之…...
三维扫描仪-3d扫描建模设备自动检测尺寸
在现代工业制造领域,三维扫描仪已成为实现高精度尺寸检测的关键设备。CASAIM自动化智能检测系统以其自动化三维立体扫描技术,为产品尺寸的自动检测提供了高效、可靠的解决方案。 CASAIM自动化智能检测系统通过非接触式测量方式,通过激光扫描…...
vue3+ant design vue实现日期选择器默认显示当前年,并限制用户只能选择当前年及之前~
1、思路:之前想拿当前年直接做赋值操作,实际上是行不通的,因为组件本身有数据格式限制,会出现报错,然后索性直接获取当前日期(YYYY-MM-DD)赋值给日期组件,这样不管你用的是年&#x…...
【electron-vite】搭建electron+vue3框架基础
一、拉取项目 electron-vite 中文文档地址: https://cn-evite.netlify.app/guide/ 官网网址:https://evite.netlify.app/ 版本 vue版本:vue3 构建工具:vite 框架类型:Electron JS语法:TypeScript &…...
05《存储器层次结构与接口》计算机组成与体系结构 系列课
目录 存储器层次结构概述 层次结构的定义 存储器的排名 存储器接口 处理器与存储器的速度匹配 存储器接口的定义 存储器访问命中率 两种接口 第1种方式:并行 命中率的计算 存储器访问时间 第2种方式:逐级 结语 大家好,欢迎回来。…...
elasticsearch报错fully-formed single-node cluster with cluster UUID
1.问题描述 k8s集群内部署的es中间件起不来,查看日志发现如下警告,节点发现功能开启,但是目前我是单节点服务,所以尝试编辑sts将节点发现功能去掉或者在部署时将你的sts的yaml文件和chart文件修改重新部署以去掉该功能 {"t…...
Milvus×Florence:一文读懂如何构建多任务视觉模型
近两年来多任务学习(Multi-task learning)正取代传统的单任务学习(single-task learning),逐渐成为人工智能领域的主流研究方向。其原因在于,多任务学习可以让我们以最少的人力投入,获得尽可能多…...
DAPP
02-DAPP 1 啥是 DApp? DApp,部署在链上的去中心化的应用。 DApp 是开放源代码,能运行在分布式网络上,通过网络中不同对等节点相互通信进行去中心化操作的应用。 DAPP 开放源代码,才能获得人的信任。如比特币ÿ…...
生产环境中,nginx 最多可以代理多少台服务器,这个应该考虑哪些参数 ?怎么计算呢
生产环境中,nginx 最多可以代理多少台服务器,这个应该考虑哪些参数 ?怎么计算呢 关键参数计算方法评估步骤总结 在生产环境中,Nginx最多可以代理的服务器数量并没有一个固定的限制,它取决于多个因素,包括Ng…...
CANN/asc-devkit Trunc截断函数API
Trunc 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann…...
量子度量学习的黑盒验证协议设计与实现
1. 量子度量学习与黑盒验证概述量子度量学习(Quantum Metric Learning)是量子机器学习领域的一个重要分支,其核心目标是通过优化量子特征映射,将经典数据转换为量子希尔伯特空间中的态,使得不同类别的数据在量子态空间…...
AI代码助手评测体系构建:从原理到实践的完整指南
1. 项目概述:AI代码助手评测,到底在测什么?最近在GitHub上看到一个挺有意思的项目,叫ameerkhan9394/ide-ai-benchmark。光看名字,你大概能猜到,这是一个给集成开发环境(IDE)里的AI助…...
从磁带机到物联网:LRC纵向冗余校验的‘复古’算法,为何今天还在用?
从磁带机到物联网:LRC纵向冗余校验的‘复古’算法为何历久弥新 在工业自动化控制柜里,一组Modbus ASCII协议的数据帧正通过RS-485总线传输。帧尾的E2校验码看似简单,却承载着从1960年代磁带存储时代延续至今的设计智慧。当工程师在调试终端看…...
5月中国AI独角兽融资热潮:DeepSeek领涨,月之暗面、阶跃星辰等估值重估!
5月中国AI产业一级市场热闹非凡这个5月,中国AI产业的一级市场热闹非凡。先是国产超级AI独角兽DeepSeek,正在推进成立以来的首次外部融资。最新消息显示,国家AI产业投资基金、腾讯等资方都已进入洽谈名单。一个月前,就有消息传出De…...
终极指南:用ViGEmBus免费解决Windows游戏手柄兼容性难题
终极指南:用ViGEmBus免费解决Windows游戏手柄兼容性难题 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾经遇到过这样的情况:…...
2026届最火的AI写作平台推荐榜单
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 因学术写作要求持续提高,论文AI工具成了学生和研究人员的关键辅助办法࿰…...
终极Notero使用指南:如何快速实现Zotero与Notion文献同步
终极Notero使用指南:如何快速实现Zotero与Notion文献同步 【免费下载链接】notero A Zotero plugin for syncing items and notes into Notion 项目地址: https://gitcode.com/gh_mirrors/no/notero 在学术研究和工作流管理中,我们常常面临一个共…...
OpenCore Legacy Patcher终极指南:五步让老Mac重获新生
OpenCore Legacy Patcher终极指南:五步让老Mac重获新生 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为手中的老旧Mac无法升级到最新…...
告别玄学调音!手把手教你用Adobe Audition和杰里SDK搞定蓝牙音箱EQ
数据驱动的蓝牙音箱EQ调音实战:从频响分析到SDK参数优化 在音频产品开发中,音质调试往往被视为一门"玄学"——依赖工程师的"金耳朵"和经验积累。这种传统方法不仅效率低下,更难以保证结果的可重复性。本文将彻底改变这一…...
