由于底层的原因,下面的代码只是参考:
首先要在系统中新建一个RestFul用户,比如:
然后进行如下java代码:
private String userName = "maxinze";//REST用户登录名
private String password = "123456";//REST用户密码
这里指的是新建的RestFul用户的登录名和密码,这个是自己设置的,然后自己定义一个不带参的构造方法:
public RestWebServiceClient()
{
CTPServiceClientManager clientManager = CTPServiceClientManager.getInstance("http://127.0.0.1");//取得指定服务主机的客户端管理器。
//取得REST动态客户机
client = clientManager.getRestClient();
//登录校验,成功返回true,失败返回false,此过程并会把验证通过获取的token保存在缓存中,这里的token是一个令牌的作用
//再请求访问其他资源时会自动把token放入请求header中。
boolean reslut = client.authenticate(userName, password);
logger.info(reslut);//这里采用logger4j日志进行输出,下面是一样的
}
然后进行调用:
public void testRest()
{
String json = client.get("orgMember?loginName=oa1", String.class); //根据登录名获取人员信息,这里是自己的登录名
logger.info("获取的结果:" + json);//这里同上
try
{
//URL为中文的部分要进行编码
String name = URLEncoder.encode("卢俊义", "UTF-8");
client.get("orgMember?loginName="+name, String.class);
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
}
最后进行测试,直接使用main方法测试了:
public static void main(String[] args)
{
RestWebServiceClient rws = new RestWebServiceClient();//直接调用不带参的构造方法
rws.testRest();
}
以下就是获取到的人员信息:
- true
- 获取的结果:{
"orgAccountId" : -2540141660894312021,
"id" : 1226192920880235739,
"name" : "燕青",
"code" : "",
.............
"degree" : "",
"orgAccountName" : "卢俊义",
"orgPostName" : "开发",
"orgDepartmentName" : "燕青",
"orgLevelName" : "开发"
}