动易手机网站,个人公司网站搭建,云南省公共资源交易中心,商务网站建设毕业设计模板说明
在泛微 E9 系统开发过程中#xff0c;使用 Ecode 调用后端接口并进行传值是极为常见且关键的操作。在上一篇文章中#xff0c;我们探讨了 Ecode 调用后端代码的相关内容#xff0c;本文将深入剖析在 Ecode 中如何向后端传值#xff0c;以及后端又该如何处理接收这些值…说明
在泛微 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传递的参数requestIdrequestId);}
在后端中非常需要注意的一点就是这个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 {POSTPath(/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这个实体类需要包含前端传递的所有参数对应的变量以及它们的getter和setter方法确保后端能够顺利接收并处理这些参数。
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; }}截图展示