2.14.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