致远OA——自定义开发rest接口

文章目录

🍎 业务流程

代码案例: https://pan.quark.cn/s/57fa808c823f
官方文档:

 
 

登录系统 —— 后台管理 —— 切换系统管理员 —— 信息集成配置 —— rest用户管理 —— 新建

在这里插入图片描述

根据上面生成的用户名和密码,发送请求获取 token,后续用于访问自己的定义的 `rest`` 接口使用。

官方文档如下:

在这里插入图片描述

我们自己进行测试获取:
在这里插入图片描述

注意:上面的 token 失效只有十五分钟。

在这里插入图片描述


自定 rest 接口:

根据官方文档,提供的案例我们进行自己的 rest 接口开发,下面是官方文档案例:
在这里插入图片描述

注意:这里我们定义的 rest 接口的包位置一定要放在 com.seeyon.ctp.rest.resources 包的下面。项目是按照一定规则去加载的,如果包名不一致是加载不到的,接口是访问不到的

在这里插入图片描述

package com.seeyon.ctp.rest.resources;

import java.util.Map;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.seeyon.apps.ext.HaiKangDataSysn.manager.HaiKangAllDataSysnManager;
import com.seeyon.ctp.common.AppContext;
import com.seeyon.ctp.common.exceptions.BusinessException;
import com.seeyon.ctp.services.ServiceException;
import com.seeyon.ctp.util.annotation.RestInterfaceAnnotation;

@Path("/custmerBtnRest")
@Produces({ "application/json", "application/xml" })
public class CustmerBtnRestResource extends BaseResource {
	private static final Log log = LogFactory.getLog(CustmerBtnRestResource.class);
	private HaiKangAllDataSysnManager HaiKangAllDataSysnManager=(HaiKangAllDataSysnManager) AppContext.getBean("HaiKangAllDataSysnManager");

	@GET
	@Consumes({ "application/xml", "application/json" })
	@Path("findHaiKangData")
	@RestInterfaceAnnotation
	public Response findHaiKangData(@QueryParam("type") String type) throws ServiceException {
		HaiKangAllDataSysnManager.sysnAllDataToOA(Integer.valueOf(type));
		return success("ok");
		
	}


	@POST
	@Path("finishaffair")
	@Consumes({ "application/xml", "application/json" })
	@RestInterfaceAnnotation
	public Response finishaffair(Map<String, String> param) throws BusinessException {

		return this.ok(Boolean.valueOf(true));
	}

}

将开发好的接口编译成 .class 文件,替换到项目中,重新启动项目常识访问我们的接口即可。访问前需要添加请求头,将我们前面获取到的 token 放到请求头中:

请求头:

keyvalue
tokend07f4800-6835-4edc-8ff8-d3eff936b91b
Acceptapplication/json
Content-Typeapplication/json;charset=UTF-8
User-AgentMozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

### 致远OA系统与用友U8系统的API接口集成方案 对于致远OA系统与用友U8系统的集成,可以借鉴类似的集成案例来构建一个合理的架构设计。在实际应用中,企业通常会采用中间件或者自定义开发的方式实现两个不同业务系统的无缝连接。 #### 中间件方式 一种常见的做法是利用第三方中间件作为桥梁,在此模式下,中间件负责处理来自双方系统的请求并转换协议格式,从而使得原本不兼容的两套软件能够互相通信。这种方式的优点在于灵活性高、维护成本低,并且可以在一定程度上降低项目风险[^1]。 #### 自定义开发接口 另一种方法则是直接编写特定于这两个产品的适配层代码。这可能涉及到调用各自提供的Web Services或其他形式的服务端点(如RESTful APIs),并通过编程手段完成必要的数据交换逻辑。例如,可以通过Python脚本调用致远OA REST接口进行操作[^3]: ```python import requests def create_approval_in_seeyon(title, content): url = 'http://your-seeyon-server/api/approvals' headers = {'Authorization': 'Bearer YOUR_ACCESS_TOKEN'} payload = { "title": title, "content": content } response = requests.post(url, json=payload, headers=headers) return response.json() ``` 为了确保传输过程中的安全性及稳定性,建议实施严格的错误捕捉机制和服务质量监控措施。此外,还需注意版本控制问题——即保持所使用的API始终处于最新稳定状态,以便及时获取官方发布的安全更新和技术改进[^2]。 #### 数据验证与同步 无论采取哪种途径,都应建立完善的数据校验流程,保证从一方传入另一方的信息既准确又完整。特别是涉及财务类敏感资料时更需谨慎对待,防止因任何疏忽而导致经济损失或法律纠纷的发生。 #### 安全性和性能优化考量 考虑到服务器环境差异较大,如果是在Unix/Linux平台上部署,则要特别关注编译器的选择。比如使用鲲鹏GCC编译器可获得更好的执行效率,但前提是确认目标主机的操作系统已被列入支持列表之内[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光头小小强007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值