您的位置:首页 > 教育 > 锐评 > 企业推广计划_外贸网络营销定价策略_seo文章推广_新闻稿件

企业推广计划_外贸网络营销定价策略_seo文章推广_新闻稿件

2025/6/10 4:24:22 来源:https://blog.csdn.net/CXYCMY/article/details/145877093  浏览:    关键词:企业推广计划_外贸网络营销定价策略_seo文章推广_新闻稿件
企业推广计划_外贸网络营销定价策略_seo文章推广_新闻稿件

说明

在泛微 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; }}

截图展示:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com