文档中心 > API文档

2.13.8. 完整示例

  1 
     package com.seeyon.ctp.rest.resources;
     
     import java.io.UnsupportedEncodingException;
   5 import java.net.URLEncoder;
     import java.util.HashMap;
     import java.util.Map;
     
     import com.seeyon.client.CTPRestClient;
  10 import com.seeyon.client.CTPServiceClientManager;
     
     public class RestWebServiceClient {
     
         //REST用户登录名
  15     private String userName = "macx";
         //REST用户密码
         private String password = "123456";
         //定义REST动态客户机
         private CTPRestClient client = null;
  20     
         public RestWebServiceClient(){
             //取得指定服务主机的客户端管理器。
             //参数为服务主机地址,包含{协议}{Ip}:{端口},如http://127.0.0.1:8088
             CTPServiceClientManager clientManager = CTPServiceClientManager.getInstance("http://127.0.0.1:8088");
  25         //取得REST动态客户机。
             client = clientManager.getRestClient();
             //登录校验,成功返回true,失败返回false,此过程并会把验证通过获取的token保存在缓存中
             //再请求访问其他资源时会自动把token放入请求header中。
             client.authenticate(userName, password);
  30     }
         
         public void testRest(){
             
             /*
  35          * get请求方式代码示例
              */
             
             //参数类型为QueryParam
             //根据登录名获取人员信息
  40         client.get("orgMember?loginName=macx", String.class);
     
             try {
                 //URL为中文的部分要进行编码
                 String name = URLEncoder.encode("张三", "UTF-8");
  45             client.get("orgMember?loginName="+name, String.class);
             } catch (UnsupportedEncodingException e) {
                 e.printStackTrace();
             }
     
  50         //参数类型为PathParam
             //根据人员ID获取人员信息
             client.get("orgMember/-8361687019900091749", String.class);
             
             //参数类型为QueryParam和PathParam
  55         //根据人员电话号码和单位ID获取人员信息
             client.get("orgMember/telephone/15810557555?unitId=4526361456900091749", String.class);
             
             /*
              * put请求方式代码示例
  60          * 按照人员ID更新人员
              */
             Map<String, Object> map = new HashMap<String, Object>();
             map.put("id", -8361687019900091749L);
             map.put("type", 1);
  65         map.put("name", "macx");
             map.put("enabled", true);
             map.put("code", 8);
             map.put("orgLevelId", 2345678);
             //省略其他属性的设置
  70         //...
             String uri = "orgMember";
             client.put(uri, map, String.class);
             
             /*
  75          * delete请求方式代码示例
              * 按照人员ID删除人员
              */
             String url = "orgMember/-8361687019900091749";
             client.delete(url, null, String.class);
  80         
             /*
              * POST请求方式代码示例
              * 新增人员
              */
  85         Map<String, Object> beanMap = new HashMap<String, Object>();
             beanMap.put("id", 123456789);
             beanMap.put("orgAccountId", 1111111);
             beanMap.put("name", "macx11");
             beanMap.put("orgPostId", 9999999);
  90         beanMap.put("orgDepartmentId", 88888888);
             beanMap.put("orgLevelId", 23456789);
             beanMap.put("loginName", "macx11");
             //省略其他属性的设置
             //...
  95         String addUri = "orgMember";
             client.post(addUri, beanMap, String.class);
         }
         
     }
 100