泛微e9开发 编写前端请求后端接口方法以及编写后端接口

泛微e9开发 前端请求后端接口以及后端发布接口

前端请求后端接口

前端发起get请求

javascript 复制代码
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请求

javascript 复制代码
fetch('/api/youpath', {
    method: 'POST',  // 指定请求方法为 POST
    headers: {
        '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类型的接口

java 复制代码
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对象中读取参数值

java 复制代码
@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);
}

方法二:用类接收参数

java 复制代码
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
相关推荐
long3162 小时前
Java 新手入门与实战开发指南
java·开发语言
何时梦醒2 小时前
React + TypeScript + Vite 实战:从零构建 Color Picker 应用
前端·javascript·架构
Highcharts.js2 小时前
基于Highcharts开发的OHLC 股票K线图完全指南
javascript·信息可视化·echarts·数据可视化·highcharts·ohlc
默_笙2 小时前
😋 我让 DeepSeek-R1 在浏览器本地跑了起来,后端同事说"你认真的?"
前端·javascript
执笔画流年呀2 小时前
Linux搭建Java项目部署环境
java·linux·运维
程序员天天困2 小时前
Arthas ognl 表达式从入门到实战:掌握在线调试最强的表达式引擎
java·jvm·后端
IT_Octopus3 小时前
Spring Boot 中 ThreadLocal 请求上下文的完整生命周期
java·spring boot·spring
用户40966601317514 小时前
Lombok 你用对了吗?@Data 之外的 6 个隐藏神器
java·后端·代码规范
梅头脑4 小时前
交易跨10个库、日均千万订单——选错一次分布式事务方案,加班三个月重写
java·分布式
JasonMa1534 小时前
从零搭建一个微信小程序活动管理平台(一):架构设计与技术选型
javascript·微信小程序·node.js