当前位置: 首页 > article >正文

泛微OA编写后端Rest接口

泛微OA编写后端Rest接口

前言

具体实现

运行结果

注意要点

总结


前言

在泛微E9中,可以通过注解的方式来编写对外的接口,之前的版本都是通过编写servlet类,然后在web.xml文件中将这个类和访问路径进行编辑之后才好在浏览器中通过输入对应的url来进行访问,这样的话,每一次编写对应的对外接口都比较麻烦

在泛微升级到E9之后,对应的jdk也从1.6升级到了1.8;已经可以支持通过使用注解来进行开发了,在泛微中使用注解进行开发的话就和之前在javaWeb中编写Rest接口很类似了

虽然但是泛微规定了一系列的编写规则就类似java的三层架构一样,但是如果对代码的美观性以及规范性和可重用性不是特别在意的话完全可以通过一个类来实现整个接口的开发

具体实现

在编写E9的Rest接口的时候,咱们必须要注意的是类的存放路径的问题,只有将class文件放在服务器正确的包下才能访问到对应的接口

在泛微的只是文档中有对此的介绍【文档中详细说明了他的三层规范要求,但是我也说了对此不介意的可以直接一个类解决所有!!!

package com.api.workflow.web.workflowPath;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;

import com.alibaba.fastjson.JSON;


import weaver.conn.RecordSet;
import weaver.general.Util;

/**
 * @author cxy
 *
 */
@Path("/workflow/test")
public class EcodeTestActionWorkflow {
	@GET
    @Path("/getInfo2")
  	@Produces(MediaType.TEXT_PLAIN)
    public String test(@Context HttpServletRequest request,@Context HttpServletResponse response) {
	  Map<String, String> map = new HashMap<>();
	  RecordSet rs = new RecordSet();
	  String sql = "select * from Resource where loginid = 'no123";
	  rs.execute(sql);
	  rs.first();
	  String username = Util.null2String(rs.getString("lastname"));
        map.put("test", "test3");
        map.put("username", username);
        
        String jsonStr = JSON.toJSONString(map); 
        System.out.println(jsonStr);
	  
	  return jsonStr;
    }

}

当然了这只是我的一个小小的建议,如果你对代码规范有自己的要求的话,完全可以按照她写的三层架构来实现接口的【没有任何问题,看你自己!!!

运行结果

在把java文件编译好的class文件放在对应的【workflowPath】包下之后,重启服务器,即可通过访问对应的URL访问接口了

注意要点

  1. 接口的class文件存放位置一定要在workflowPath包下,只有这个包下的接口可以在类上通过@Path进行规定【我是说如果你打算用一个类来实现接口功能的话】
  2. 如果你发现你的注解对应的包无法导入,那么你需要查看你的lib里面是否有对应的jersey的包

总结

最后的最后,再一次强调,选择使用三层架构以及选择不使用都是个人自由哦~

如果有任何问题的话可以在评论区进行讨论哦~


http://www.kler.cn/a/558173.html

相关文章:

  • Go 错误处理与调试:面向对象的入门教程
  • 系统架构设计师备考策略
  • 【Java从入门到起飞】数组
  • 安卓系统远程控制电脑方法,手机远控教程,ToDesk工具
  • Deepseek存算分离安全部署手册
  • 力扣-回溯-332 重新安排行程
  • 前端八股——计算机网络+浏览器原理
  • Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
  • 【含开题报告+文档+PPT+源码】基于springboot加vue 前后端分离的校园新闻审核发布管理系统
  • 国产单片机开发汽车气压表胎压计解决方案
  • 离线部署大模型:ollama+deepseek+open-webui
  • 如何通过 Python 实现一个消息队列,为在线客服系统与海外运营的APP对接
  • Redis-RDB
  • HarmonyOS学习第4天: DevEco Studio初体验
  • 蓝桥杯 Java B 组之双指针技巧(快慢指针、滑动窗口)
  • 若依按照时间段查询
  • Django的初步使用
  • Python基于Django的广州、北京、杭州二手房房价可视化分析系统(附源码)
  • 【再谈设计模式】迭代器模式~遍历集合元素的利器
  • relief=tk.RAISED详细介绍 relief是指定控件的边框样式