Ecode前后端传值

news/2025/3/1 23:44:25/

说明

泛微 E9 系统开发过程中,使用 Ecode 调用后端接口并进行传值是极为常见且关键的操作。在上一篇文章中,我们探讨了 Ecode 调用后端代码的相关内容,本文将深入剖析在 Ecode 中如何向后端传值,以及后端又该如何处理接收这些值

GET请求传参

前端传参

这种方式是将参数直接嵌入到请求的 URL 路径中。例如,假设我们现在要将前端的requestId传给接口,可以参考以下代码

getNodeReason(){var requestId = WfForm.getBaseInfo().requestid;// console.log("输出对应的请求Id" + requestId);WeaTools.callApi(`http://IP:PORT/api/workflow/test/getRequestId?requestId=${requestId}`, 'get', {_time: Date.now()}).then((data) => {console.log(data);// 直接使用 data 数组,无需进行 JSON 解析this.setState({getRequestInfo: data}, () => {console.log(this.state.getRequestInfo);});});}

在这里需要注意的就是对应的URL需要用反引号进行标注,这样才好将上面查到的requestId变量进行传输

后端如何接收参数

@GET
@Path("/getRequestId")
@Produces(MediaType.TEXT_PLAIN)
public String getRequestInfo(@QueryParam("requestId") String requestId){//输出接收到的参数(如果没有配置log的话,也可以通过System.out.println()来进行输出)this.log.info("获取接口方法getNodeReason传递的参数requestId"+requestId);}

在后端中非常需要注意的一点就是这个@QueryParam注解括号里面写的名称必须和前端传递的参数名称一致才行

截图展示:

POST请求

前端传参

在前端使用 POST 请求时,我们需要将参数封装在请求体中,并设置正确的请求头

getData() {const data = {name: "John1",age: 25};fetch('http://IP:PORT/api/workflow/test/getInfo2', {//IP:PORT输入对应的服务器地址以及对应的端口号就行method: 'POST',headers: {'Content-Type': 'application/json'},body: JSON.stringify(data)}).then(response => response.json()).then(data => {this.setState({jsonData: data}, () => {console.log(this.state.jsonData);console.log("输出姓名值" + this.state.xm);});}).catch(error => {console.error('请求出错:', error);});
}

后端接收处理

需要注意的是,需要用一个实体类来接收参数;实体类中需要注明所有传递的内容

@Path("/workflow/test")
public class EcodeTestActionWorkflow {@POST@Path("/getInfo2")@Produces(MediaType.APPLICATION_JSON)@Consumes(MediaType.APPLICATION_JSON)public String test(UserData userData) {JSONObject json = new JSONObject();json.put("age", userData.getAge());json.put("name", userData.getName());json.put("username", "cccc");json.put("test", "test4");return json.toString();}
}

实体类如下:根据上面前端传参确定参数是age和name;这个实体类需要包含前端传递的所有参数对应的变量,以及它们的gettersetter方法,确保后端能够顺利接收并处理这些参数。

public class UserData {private String name;private int age;// Getter and Setter methodspublic String getName() { return name; }public void setName(String name) { this.name = name; }public int getAge() { return age; }public void setAge(int age) { this.age = age; }}

截图展示:


http://www.ppmy.cn/news/1575898.html

相关文章

FastAPI 学习与使用

一、基本要求: 1.python版本3.6支持异步编程与类型提示 type hints 2. http基础了解(get/post/put/delete)、状态码、请求协议等 3.推荐使用python虚拟环境进行开发环境隔离 python -m venv myenv source myenv/bin/activate # Linux/Mac myenv\Scripts\activat…

MS SQL 2008 技术内幕:T-SQL 语言基础

《MS SQL 2008 技术内幕:T-SQL 语言基础》是一部全面介绍 Microsoft SQL Server 2008 中 T-SQL(Transact-SQL)语言的书籍。T-SQL 是 SQL Server 的扩展版本,增加了编程功能和数据库管理功能,使得开发者和数据库管理员能…

MySQL 8.4 SQL 全攻略:所有知识点与实战场景

一、引言 MySQL 作为一款广泛使用的开源关系型数据库管理系统,在数据存储和管理领域占据着重要地位。MySQL 8.4 版本在性能、功能和安全性等方面都有了显著的提升。本文将全面介绍 MySQL 8.4 中 SQL 的各种知识点,并结合实战场景进行详细讲解&#xff0…

Spring Boot Admin 踩坑

记一次SpringBoot升级2.x以后遇到的一个小坑&#xff1a; 以前采用1.x的时候&#xff0c;在服务发现中心点击单个服务&#xff0c;可以查看当前服务的详细信息&#xff0c;配置文件只需要简单的配置&#xff0c; &#xff1a; 父级&#xff1a; <parent><groupId>…

雷军力荐学 AI,背后隐藏着怎样的时代密码?

本文围绕雷军力荐学 AI 展开&#xff0c;剖析 AI 发展现状、核心技术&#xff0c;阐述 C 在 AI 的应用&#xff0c;分析 AI 带来的机遇与挑战&#xff0c;还指明学习路径&#xff0c;强调个人学 AI 顺应时代且意义重大&#xff1b;欢迎大家阅读丫&#xff01;&#xff01;&…

【愚公系列】《Python网络爬虫从入门到精通》033-DataFrame的数据排序

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

Linux操作系统:基于ELK栈的日志分析系统与数据爬虫的设计与实现

基于ELK栈的日志分析系统与数据爬虫的设计与实现 摘要 随着信息技术的飞速发展&#xff0c;服务器运维和数据采集在现代企业中扮演着越来越重要的角色。日志分析系统能够帮助运维人员快速定位问题&#xff0c;提高系统稳定性&#xff1b;数据爬虫则可以用于采集互联网上的公开…

Haption:机器人遥操作触觉力反馈技术革新解决方案

在机器人遥操作过程中&#xff0c;实时、准确地感知机器人所抓握物体的大小与力度&#xff0c;是机器人能否胜任复杂精密任务的关键所在。触觉力反馈技术的融入&#xff0c;正为遥操作技术带来前所未有的变革&#xff0c;推动其迈向新的发展阶段。作为力反馈技术的佼佼者&#…