致远OA——自定义开发rest接口
文章目录
- :apple: 业务流程
🍎 业务流程
代码案例: https://pan.quark.cn/s/57fa808c823f
官方文档:
- https://open.seeyoncloud.com/seeyonapi/781/
- https://open.seeyoncloud.com/v5devCTP/39/783.html
登录系统 —— 后台管理 —— 切换系统管理员 —— 信息集成配置 —— 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")@RestInterfaceAnnotationpublic Response findHaiKangData(@QueryParam("type") String type) throws ServiceException {HaiKangAllDataSysnManager.sysnAllDataToOA(Integer.valueOf(type));return success("ok");}@POST@Path("finishaffair")@Consumes({ "application/xml", "application/json" })@RestInterfaceAnnotationpublic 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 |