致远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
相关推荐
Grey Zeng1 天前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白1 天前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
架构师沉默1 天前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群1 天前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL1 天前
JVM 类加载:双亲委派机制
java·后端
用户298698530141 天前
Java HTML 转 Word 完整指南
java·后端
渣哥1 天前
原来公平锁和非公平锁差别这么大
java
渣哥1 天前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K1 天前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty7251 天前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构