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

文章目录

    • [:apple: 业务流程](#:apple: 业务流程)

🍎 业务流程

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

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

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

官方文档如下:

我们自己进行测试获取:

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


自定 rest 接口:

根据官方文档,提供的案例我们进行自己的 rest 接口开发,下面是官方文档案例:

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

java 复制代码
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 放到请求头中:

请求头:

key value
token d07f4800-6835-4edc-8ff8-d3eff936b91b
Accept application/json
Content-Type application/json;charset=UTF-8
User-Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36
相关推荐
xxjiaz16 分钟前
二分查找-LeetCode
java·数据结构·算法·leetcode
nofaluse39 分钟前
JavaWeb开发——文件上传
java·spring boot
爱的叹息1 小时前
【java实现+4种变体完整例子】排序算法中【插入排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
java·算法·排序算法
爱的叹息2 小时前
【java实现+4种变体完整例子】排序算法中【快速排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
java·算法·排序算法
6v6-博客2 小时前
2024年网站开发语言选择指南:PHP/Java/Node.js/Python如何选型?
java·开发语言·php
Miraitowa_cheems2 小时前
[Java EE] Spring AOP 和 事务
java·java-ee·aop·spring 事务
AI大模型顾潇2 小时前
[特殊字符] AI 大模型的 Prompt Engineering 原理:从基础到源码实践
运维·人工智能·spring·自然语言处理·自动化·大模型·prompt
twj_one2 小时前
Elasticsearch的Java客户端库QueryBuilders查询方法大全
java·elasticsearch
周Echo周2 小时前
16、堆基础知识点和priority_queue的模拟实现
java·linux·c语言·开发语言·c++·后端·算法